Файл создан программой HELPGEN версии 3.0 Copyright (c) С.М.Абель 1989 г. ¤Справочник программиста MS DOSppq√этотэтойэтогоэтоэтаэлементэкранчтобычточтеничитатьчислочерезцветфункциформатфонтовфлагфайлустройствустановустанавливаеуступравляющиеуправлениумолчаниуказываетуказателтребуетсятолькотекущтвердтакжетактаблицструктурстрокстраницстрстатусстандартнысостоянисоответствсоздатьсодержитсодержимосмещениесмещсловослесистемсимволсервиссекторсегментрезидентнырезерврежимрегистррасширеннраспределениразмерразделителраздел▌AT▐╓7┬6┬5┬4┬3┬2┬1┬0╖╙─┴─┴─┴─┴─┴─┴─┴─╜╥┴╥┴╥───┴───┴───┴───┴───┴───┴─┴─┴─║ ║ ╚║ ║ ║ ║│ │ │ │путьпроцесспрограммпровпринтерприпрерыванипоследователпослепортпользователполучитьпозволяетподфункцииподфписатьпечатпереходпереназначенперемпереключателпередперепервпараметрпараллельнпараграфпамятпакетошиботкрытьориентированопределописателописаниеоперациодиноглавлениоваобычнооборудованияобластныхныйныеносителяномернойногонижениенетнескольконеверныйнаяначалоначнапримернайденмонохромныймониторможноможетменюлюбойкурсоркоторыкоррекорневоконтроллерконсолконецкомандкодкогдакластерклавишклавиатуркаталогкаккаждыйитьиспользинформациинтериницииндексинаяимяименемимеетилизначенизатемзапросзаписзамечанизагруззаголовзавершитьзавершениеслиегодрайвердоступдолжныдолжендлядлинадискдатьданныграфическийграфикавыходвыполняетвыполнитьвызываетвызвыводвыбратьвходвсегдавсевремявременивозвращаетвлениевидеоверсиивекторвводбытьбуфербудетбольшеболееблокбитбайтатрибутадресадаптерshiftsYSrOMrAMpSPiOCTLiNThelphandlehELPffHfCBfATeXECeSCeMMeGAdTAdOS FndOSdMActrl-chrDecHex BinarycONFIG.SYScOMMAND.COMcOMcMOScGAbreakbIOSalt-aSCIIZaSCIIEGAЇ< } 6╔Q'g=EDАF@HвI─K$MYN╢P_RйS{UyZТ\d^В_└a▒d╞fїjwmlo▌q,tЩvКzН{Д}─ГБДЖИ9Й*ЛОыРxУ(ШЪ?ЫЭ_Ю аоб^гмейГлл▓Ї│╢╣р╝Н╛╗└к┬л┼щ╚ч╩ю╧0╘╓o╪о┌жю─ё&ЎE°>√m¤т I a 4H═\╣2#╛'─)╬1┤7┴?8A$MлP|T"W┘X╚YА\╧^7alcуe║gGiВk}nЙpИrЎxYДГПТ▄ФКЩ5зШй┤▒&╕A─Н╟Ш▀╛¤1/( ┬37▄8Q;║>╘?┐A·CжG,MЗNBQ^a┤pдqKt█ЗsЛ■СШд╘к|о░;│▒║┴╝М┐┴>├ш╔r═л╥.╒Ф▄ т-хсь╪ёЭЎ<∙Щ -щЩэ ╤(uB╢DgH╩JЦMtU¤Zhos│wыzs}╬КсЧ з┬░Ч╣├╛Ё╟П═эт╩щ ьV#[ T_!В)р4ъ5NЄQЦZ╚_5hфjpn╦rnuЖЙrО·Т┤Цїж╦▒┬r╔+╨▌░чyЎ┌ }< е*?3Ъ9{@=WМZ9q!tv┐xъАхГРШ Logo ┌─┐ ┌─┐ ┌─┐ ┌─┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ T E C H │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └─┘ │ ┌─┐ │ │ ┌─┐ │ │ │ ┌─┐ │ │ ┌─┐ │ │ │ │ ┌─┐ │ │ │ │ │ │ │ │ │┌───┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │└─┘ │ │ │ │ │ │ └─┘ │ │ │ │ │ └─┐ │ │ │ └─┘ │ ┌─┐ └─┘ └─┘ └─┘ └─┘ │ ┌─┘ └─┘/ │ │ Электронvсправочник │ │/ │ │/ │ │/ └─┘ ╔6═╗ ║ ▓Uьских 3помощи, версия 3.0 ║ ║ Адаптирqл С.М.Абель, 1989 ║ ╚6═╝ &2╒`╚2╓_u2┘2╪~▄2╫а▌ ╕ ▐2 ║ x ┴2 ┌ └2 █ y s ╠2ёы╗z2Ь{╝}2╣├2РАЗДЕЛЫ ПОМОЩИ╒═╗ э╔ ═╕╒═╗ ў/АППАРАТУРА ╔═╕╒═══╗ СИМВОЛЫ И КОДЫ ╔═══╕│ ╚═╝ ││ ╚═╝ ││ ╚═╝ ││ Fun и э ││ ▄-ўи ││ ·К# ││ эГруппы й ││ ъ┘ ││ Hex ·10-16-2 Фы ││ рQя э ││ EMS Expanded-fь ││ Box псевдо╝ ││ ││ ││ CRLF Фы ││ Err Фы hок ││ ▄-ўПоля ││ Char Набор 4ов · ││ Attr ╫ы а ││ Memory План fи ││ ││ тlь а││ Port Tы в/в ││ я┌-Alt ││ ц ││ Ї-fь ││ ANSI.█Esc-Фы ││ ││ ▄-Scan ││ Print Фы Oа ││ ё ││ │╘═╛│ Drivers ▓ы ││ 8088/86/286 Уы ││ ││ │ сЪзапускать│ Ver ╠э ││ Scan СканФы ││ IO )й в/в ││ │ ў$ы ║х│ EXE Запуск M ││ Screen ╫ы экр.││ эF О ях э ││ │ Serv э/ў5│ Env Окруже}э ││ Sw _и PC │╘═╛╘═╛ Ind Общий б Ь  я Главное К @ы помощи $ы ║х э/ў ь й э/ў Общее pе ЪЭqть TECH с! ╜из с! ╠)┌ y╒ ╒#┘╫ █ ║ с & ' (Рур╞┴Съл ае╝╒)┌#┘ b" ╣#!1$1L%{&z(в)y*'9,y-л.t/п0к1н2м3о49E5"s7(ц8%╚:Й;╝<╜=К?у@тA щBфD░E▒F ┴G│H╡I$ЬJ┤K▓L!╢M зSyTU)V&W X0Y(3Z'7[#E\"s]*n_П`ИaОcуdтe щfфh}iyj ╣k~l`m n ыo"xp_q╕r{szuЮvдw$Ьx ╣yxzй{и|┤} а~Я&╖А▓Б#ЭГ|ДeЕ аЖЯЗ╕И!cЙzК+dМ ╚Н хО ЛП╔Р╟Т ┴У╛ФМЦпЧПШ~Щ1TЪ&mЬuЭ vЮ wа▒б│в╡гxд9EеОж▓ий_к(&л"6м!╥олпм░9E▒е▓ ж│ з╡╛╢ч╖▀╣р║b╗║╝ Т╜!З╛╗┐┐┴ ┴┬y├u─▌┼М╞#Н╟С╚б╔g╩#Э╦{╠▄═└╬├╧32╨Ж╤!З╥)o╘╠╒═╓'╬╪╨┘▀┌▐▄╪▌b▐ ▀#█рУс"rт%шф$Ьх▌цч5юш▄щ└ы ┴ь╛эМю5юя├ёЬ0ёAё ЄОбщее pеНаименqния @ов помощи, сгруппирqнwпо тематике. ┌ ─┐.═╡ ANSI.█│ ANSI СьwEscape-Rьности └ ─┘ ё" ┌─┐.═╡ ·│ ·и ∙ (подК) └─┘ Псевдо╝и специальw4ы #а набора 4ов Epson/IBM Фы Oа <ые Чи · ┌─┐.═╡ Асинхронvв/в │ Tы асинхрон{┘а └─┘ ь03H: Вспомогательv╬(AUX) ь04H: Вспомогательv┬(AUX) р14H: В/в  RьvT ┌─┐.═╡ AT │ AT Tы  ых ╕ов └─┘ AT и Шы AT _и $а Ї-fи р15H: <ый 5AT Совместимость 3 ┌ ─┐.═╡ ╫ы │ ╫а └ ─┘ ╫а ▀Юя об е ╫ы а ┌ ─┐.═╡ 4ы │ · (подК) └ ─┘ ANSI СьwEscape-Rьности Псевдо╝и специальw4ы и 4ь{в/в (подК) ┌ ─┐.═╡ Є│ Окруже}э └ ─┘ ь30H: ╣y╠э ь4bH: мЬ/┐Mу -- ч Запуск и пе M )й ╬-┬ ┌─┐.═╡ Зависимость от 'аны │ ╘Юи 'аны └─┘ ё ь38H: ╣/. Юю 'аны ┌─┐.═╡ ▓ы │ ё └─┘ ╫а Основы ▓ов  hки ▓ов  $а нка а нок йа а $ы йов  1*я а ь44H: е ╬ом-┬ом а -- ▀ мые ▓ы (подК) ┌─┐.═╡ Дисплейw┘ы │ Tы в/в {графического ┘а └─┘ <ый ╗┘(ъ) (подК) См. @ъ р10H: ╦5 ╫ы а #а ╦cов Сводка :ов ╦ (р10H) ┌─┐.═╡ ╕и ╕ета │ AT Tы  ых ╕ов └─┘ Tы Ра ╕ет Tы ю XT Tы  ых ╕ов.─ ╘и и #ы ╘cов ў(BPB) Пй 6 Ї-fь (действительwтипы ╕ов AT) #а @ов ╕а #а cов ╕ет буправляющих ╘ов эи ў(подК) <ый @э Дескриптор x #а cов  ого ╕а ▀440dH.─ $ы ов и Щов См. э.─ │к ╕овым ам См. э/─ ╕овый 5э ё (▌-╕и логический ╕) ь0dH: СбросЬ╕ ь0eH: ├умалчиваемый ╕э ь19H: ╣умалчиваемый ╕э ь1aH: Ь╪ы ь2fH: ╣ий ы ь32H: ╣Юю о ╕ах э (недокументирqно) ь36H: ╣свободную fь ╕а ь44H: е в/в -- ▀ мые ▓ы  р25H/26H: Прямые ╕овые  е/кь/─ ▄-ўобслужива}╕ов Фhки ╕а (╔р13H) р0eH: Qе от ╕еты р13H: ╕овый в/в ┌─┐-═╡ ю│ Tы винчестера AT └─┘ Tы Ра ╕ет Tы ю Tы винчестера XT ┌─┐.═╡ э(PC-эи MS-э) │ О ях э └─┘ ё Окруже}э Фы hок э и эпо группам (подК) и э (подК) ╠э #а =я ов (ц) Qя э (подК) lь а (т) Запуск и пе M )й ╬-┬/─ #ы и ╘и pя ╘Юи о ╕е буправляющих ╘ов эи ў (подК) Окруже}э ц нок а EXE ╘cов Exec (EPB) <ый @э ╫а ╘я ом (х) ╟и дата создания/обновления а Дескриптор x Префикс M{7а (▐)/─ │к ╕овым ам :│а / :открытия и овой 3ы ╫а ╘я ом (х) lь а (т) т-jv╬-┬ )й ╬-┬ Традиционvх-jv╬-┬ ┌─┐.═╡ ъ│ ╞о ъ (подК) └─┘ Tы ъ √ў √tи ║х √_и ┌─┐.═╡ Оборудq}│ Ї-fь (а !типы ╕ов) └─┘ Список s (╒овые и лен{s) р11H: Контроль s ┌─┐.═╡ hки │ hки ▓ов  └─┘ Фы hок ╕а (╔р13H) Фы hок э ь59H: ╣<ую Юю об hке р24H: Обработчик критических hок ┌─┐.═╡ Expanded-fь │ Expanded-fь: спецификация (L/I/M EMS) └─┘ и щ (Менеджер Expanded-fи) (щ" ┌ ─┐.═╡ ы │ Пй 6 └ ─┘ #а @ов ╕а #а cов ╕ет ц ь44H: е ╬ом-┬ом а -- ▀ р13H: ╕овый ╬-┬ Дескриптор x ┌ ─┐.═╡ Qя │ Qя и 5▄-ў (подК) └ ─┘ Qя э (подК) ь25H: Ь═Qя ь35H: ╣═Qя Ин'укции я Lором ┌─┐.═╡ ▀│ ╫а └─┘ йы а ь44H: е ╬ом-┬ом а -- ▀ ▀Юя об е ▀440cH ▀440dH! ┌ ─┐-═╡ Джойстик │ Список s └ ─┘ Игровой ┘ Tы ╬а-┬а ┌ ─┐.═╡ Ша │ AT и Шы └ ─┘ и 4ь{в/в <ые Чи · р16H: Обслужива}Шы р09H: Qе от Шы СканФы Шы и *я Шы ┌─┐.═╡ fь │ Ї-fь" └─┘ ё (VDISK.█▌-╕) Expanded-fь (L/I/M EMS) Общая схема fи р11H: Контроль s р12H: >Эуемой fи р15H: AT <ый 5(▌сверх 1 мега╓а) ╘я fью (MCB) и я fью Префикс M{7а (▐) Запуск и пе M (=е fи) ^енw▄-ў ▄-Scan _и PC (ка fи 3ы) ь31H: KEEP - ои остаться 8м р08H: Qе от таймера р09H: Qе от Шы р27H: ои остаться 8м ┌ ─┐.═╡ Фы У│ 8088/8086/286 набор У (подК) └ ─┘ #а набора У Уы с дополнительным Фом nи ┌─┐.═╡ Tы │ Уы `ачи ║х └─┘ Сводка Tов в/в План Tов в/в (подК) ┌ ─┐.═╡ O│ ·Фы └ ─┘ и 4ь{в/в ь05H: ┬на O Epson/IBM Фы Oа р17H: Поддержка Oа р2fH: Мультиплексное Qе (Print Spooler) Tы ┘а dого Oа ┌ ─┐.═╡ ▄-ў│ буправляющих ╘ов эи ў └ ─┘ Общая схема fи Qя и 5▄-ў (подК) POST (Power-On Self-Test) - самоNерка Pмке ^енw▄-ў ▄-Scan% ┌─┐.═╡ _и │ Ї-fь" └─┘ Список s р11H: Контроль s POST (Power-On Self-Test) - самоNерка Pмке _и PC (подК)P─ ╘и эи ў @ы помощи Главное К А `_         1 #&")""06"22"(& !. ",!#-"$-#%'$&6%'(&(1')+(*+)+*,+-,.-/ .09/102!13624<35?46/57"68'79H8:-9;-:<'E=;<>#=?#>@#?A'@B)ACBD/CE6DF9EG.FH.GI,HJ4IK1JL+KM5LN'MO-NP&OQ,PR.QS*RT0SU1TV-UWVX5WY%XZ+Y[4Z]i^j_k`#la&mb*nc+od.pe2qf"rh!АiБj!ВkГl#ДmЕnЖo!ЗpИrЙsК{ЛБМВ#НГОН/РУСЫ ТвУзФиХйЦп Ч░/Ш▓v┤┤Ь3┤ A┤ ╡pе 5uй эи ў7 ┌─┐7═╡ Кй │ и э* └─┘ и эпо группам Qя э Qя и 5▄-ў ┌ ─┐7═╡ и э│ ь00H: оMу └ ─┘ ь01H: ╬с Шы ь02H: ┬на дисплей ь03H: ╬AUX ь04H: ┬AUX ь05H: ┬на O ь06H: Обмен с Сью ь07H: Нефильтрующий Сьv╬без эха ь08H: Сьv╬без эха ь09H: Вы╣%у ь0aH: ╨изqнv╬%и ь0bH: NерЬ(╬а ь0cH: ╬с очисткой ь0dH: СбросЬ╕ ь0eH: ├умалчиваемый ╕э ь0fH: i х ь10H: Закрыть  х ь11H: Найти 1-й совпадающий  х ь12H: Найти 2дующий совпадающий  х ь13H: УдалЬ х ь14H:  Rьv х ь15H: ZRьv х ь16H: , х ь17H: aименqть  х ь19H: ╣умалчиваемый ╕э ь1aH: Ь╪ы ь1bH: ╣Юю ц(ий ╕) ь1cH: ╣Юю ц(Л╕) ь21H:  кь произволь{а ь22H: Zкь произволь{а ь23H: ╣>а  х ь24H: Ь╪╘а произволь{а ь25H: Ь═Qя ь26H: ,префикс M{7а ь27H:  ╘произволь{а ь28H: Z╘произволь{а ь29H: Разобрать га ь2aH: ╣дату э ь2bH: Ьдату э ь2cH: ╣╟э ь2dH: Ь╟э ь2eH: Ь/сбросЬ_ь верификации ь2fH: ╣ий ы ь30H: ╣y╠э ь31H: ося и остаться 8м -- KEEP ь32H: ╣╕овую Юю э(недокументирqно) ь33H: Ь/опросЬуровень контроля Qя э ь34H: ╪(а реентерабельности э ь35H: ╣═Qя ь36H: ╣свободную fь ╕а ь37H: Ь/опросЬ4-_ь (недокументирqно) ь38H: ╣/ЬЮю 'аны ь39H: ,новое pе -- MKDIR ь3aH: УдалЬpе -- RMDIR ь3bH: Ьумалчиваемое pе э-- CHDIR ь3cH: ,lь а ь3dH: ilь а ь3eH: Закрыть lь а ь3fH:   lь ь40H: Zв  lь ь41H: УдалЬ ь42H: Ьь а -- LSEEK ь43H: Ь/опросЬ╫а -- CHMOD ь44H: е ╬ом-┬ом а -- ▀ ь45H: Дублирqть lь а -- DUP ь46H: aназГЬlь -- FORCDUP ь47H: ╣умалчиваемое pе э ь48H: РаспределЬfь (╣>fи) ь49H: ОсвободЬ╘распределенzfи ь4aH: Сжать жрасширЬ╘fи ь4bH: ┐жмЬMу -- ч ь4cH: оMу -- EXIT ь4dH: ╣Ф╜а Mы -- WAIT ь4eH: Найти 1-й совпадающий  ь4fH: Найти 2дующий совпадающий  ь54H: ╣_ь верификации э ь56H: aименqть/^естЬ ь57H: Ь/опросЬ╟/дату а ь59H: ╣<ую Юю об hке ь5aH: ,уникальvвременv ь5bH: ,новый  ь5cH: ╘ирqть/раз╘ирqть │к у ь5eH: Различwсетевые и ь5fH: ]ие в сети ь62H: ╣╪префикса M{7а ┌─┐7═╡ Qя э│ р20H: оMу └─┘ р21H: и э р22H: ╪пя р23H: ╪╜а по яЎ р24H: Обработчик критических hок р25H/26H: Прямые ╕овые  е/кь р27H: ося и остаться 8м р28H: Квант ╚э(недокументирqно) р2eH: ┐Уу э(недокументирqно) р2fH: Мультиплексное Qе ┌─┐7═╡ Qя ▄-ў│ р00H: aполне}Pделении └─┘ р01H: Пошаговое Qе р02H: Немаскируемое Qе р03H: КонтрольБточка р04H: Qе по aполнению р05H: [ать  р08H: Qе от таймера р09H: Qе от Шы р0eH: Qе от ╕еты р10H: ╦5 Обзор ╦5а 00H set video mode 06H scroll up/clear window 0cH write pixel 01H set cursor type 07H scroll window down 0dH read pixel 02H set cursor position 08H read char/attr 0eH write TTY 03H get crsr pos and type 09H write char/attr 0fH read video mode 04H read light pen 0aH write character 05H select display page 0bH select palette/border √5ў 10H set palette registers 11H character generator functions 12H special functions 13H write string р11H: Контроль s р12H: >Эуемой fи р13H: ╕овый в/в 00H reset drive 0aH read long 12H controller ▌diags 01H get err status 0bH write long 13H drive diagnostics 02H read sectors 0cH seek cylinder 14H controller diagnostics 03H write sectors 0dH alternate disk reset 15H read disk type 04H verify sectors 0eH read sector buffer 16H change-of-disk status 05H format track 0fH write sector buffer 17H set diskette type 08H get drive parms 10H test if drive is ready 09H init parm tbls 11H recalibrate drive р14H: ╬-┬ RьvT 00H initialize port 01H send character 02H receive character 03H get port status р15H: <ый 5AT 00H Cass motor ON 80H Device Open 86H Wait 01H Cass motor OFF 81H Device Close 87H Move Extended Mem Block 02H Read cassette 82H Program terminate 88H Get Extended Mem Size 03H Write cassette 83H Event wait 89H Switch to Virtual Mode 84H Joystick 90H Device Busy Loop 85H SysReq key 91H Finish Interrupt р16H: Обслужива}Шы 00H read (wait for) keystroke 03H set typeamatic rate and delay 01H preview keystroke 05H place keystroke into buffer 02H read ┌-key status 10H read (wait for) keystroke (101 kybd)# 11H preview keystroke (101 kybd)# 12H Read ┌-key status (101 kybd) р17H: Поддержка Oа 00H Print a character 01H initialize a printer port 02H get printer status р18H: ▄-BASIC р19H: Гальvмчик р1aH: ╬-┬╢таймера 00H read the clock 02H read Ї/RTC time 06H set alarm 01H set the clock 03H set Ї/RTC time 07H cancel alarm 04H read Ї/RTC date 05H set Ї/RTC date р1bH: Qе с Шы р1cH: Uьское Qе по таймеру р67H: и щP─ Общее pе ╘и эи ў Темы помощи Главное К [`_!+0=@O!,0>@P!-0?@Q !.0@@R !/0A !00B@S !10C@T    ! 20 D@ U  !! 30 E@ V  "! 40 F@ W  #! 50 G@ Z  $! 60 H%!70I@X&!80J@Y'!90K(!:0L@[)!;0M@\*!<0N@]@^и э и эпо группам Qя э 00H Terminate 13H Delete х 2aH Get Date 3cH Create File 4eH Fnd1stFile 01H Kybd Input 14H ReadSeqх 2bH Set Date 3dH Open File 4fH FndNxtFile 02H Dspl Char 15H WritSeqх 2cH Get Time 3eH Close File 54H Get Verify 03H Aux Input 16H Create х 2dH Set Time 3fH Read File 56H Rename 04H Aux Output 17H Rename х 2eH Set Verify 40H Write File ═ 3.0+ ═ 05H Prn Output 19H Get CurDsk 2fH Get ы 41H Delete File 57H Time Stamp 06H Console I/O 1aH Set ы 30H Get Versn 42H Lseek File 59H Xtnded Err 07H NoEchoUfInp 1bH GetцCur 31H Keep Proc 43H ChMod 5aH Temp File 08H NoEcho Inp 1cH GetцDsk 32H Disk Info 44H Ioctl 5bH New File 09H Dspl String 21H ReadRdmRec 33H ЎChk 45H Dup т 5cH Lock File 0aH Bufrd Input 22H WritRdmRec 34H эActive 46H Redir(Cdup) 62H Get ▐ 0bH Input Stat 23H FileSizх 35H GetVector 47H Get CurDir ═ 3.1 и выше ═ 0cH Clr & Input 24H SetRndmBlk 36H Disk Free 48H Mem Alloc 5eH Netwk Misc 0dH Reset Disk 25H Set Vector 37H Switchar 49H Mem Free 5fH NetwkRedir 0eH Set CurDsk 26H Create ▐ 38H CntryInfo 4aH Mem SetBlk ═ 3.3 ═ 0fH Open х 27H ReadRdmBlk 39H MkDir 4bH Exec 65H XtCtryInfo 10H Close х 28H WritRdmBlk 3aH RmDir 4cH Exit 66H CodePage 11H Fnd1st х 29H Parse Fnam 3bH ChDir 4dH Wait 67H тCnt 12H FndNxt х0 68H CommitFile 8Э2i _CM fB ь00H: оMу┌ ─╥─╥=─│ ─ ║ AH ║ 00H└ ─╢ CS ║ 7▐завершающ▒ся Lа┌ ─╫─╫=─│ ╜ ║ ~ ║ (неPменим)└ ─╨─╨=─m: `ает е на ═пя в ▐(╜ит в роди- тельский L). Идентична и р20H Terminate. ; CS ╡указывать на ▐. Восстанавливает ═ы Qй э22H-24H (пе, яЎи Критическая hка), анавливая зя, сохра- ненwв родительском ▐. ╛сброс овых ╨ов. ы ┤╧предварительно закрыты, ░их ╖изме- нилась.ле: Проще и ╙аккуратно - Эqть ю ь4cH Exit.P─См.!: и я Lами и э *z6l ║ bB ь01H: ╬с Шы┌ ─╥─╥=─│ ─ ║ AH ║ 02H├ ─╫─╫=─│ ╜ ║ AL ║ 4, полученvиз Стандарт{╬а└ ─╨─╨=─m: Считывает (ожидает) 4со стандарт{─{а. Отображает 4на стандартное ╜ное о (эхо). Pраспознавании яЎ╛ся р23H.ле: ╬<ых Ч·(F1-F12, PgUp, Ми т.п.) требует двух обращений к и. bый ┴ов ╔ AL=0. Второй ┴ов ╔в AL <ый Ф·.P─См.!: и 4ь{в/в! и э )z4 l bB ь02H: ┬на дисплей┌ ─╥─╥;─│ ─ ║ AH ║ 02H└ ─╢ DL ║ 4, ┬имый на )й ┬┌ ─╫─╫;─│ ╜ ║ ~ ║└ ─╨─╨;─m: Посылает 4из DL на )й ┬. Обрабатывает 4Backspace (·8), ^ещая Мвлево на одну позицию и оставляя ▒в новой позиции. Pобнаружении яЎ╛ся р23H.P─См.!: и 4ь{в/в! и э  b$Р. сB ь03H: Вспомогательv╬┌ ─╥─╥;─│ ─ ║ AH ║ 03H├ ─╫─╫;─│ ╜ ║ AL ║ 4, введенvсо стандарт{вспомогатель{р-ва└ ─╨─╨;─m: Считывает (ожидает) 4со стандарт{вспомогатель{- ройства, є1 жAUX и ╔4в AL.ле: ╬не ╨изуется и ╡опрашиваться (не управляется преры- ваниями). Pзапуске эTAUX (є1) аализируется ": 2400 бод без Nерки на четность 1 стоп-╒ 8-╒овые слq Уа эMODE Эуется ╢ки иuхарактеристик.P─См.!: и 4ь{в/в р14H Sд.Tы и э )  b$Р. сB ь04H: Вспомогательv┬┌ ─╥─╥;─│ ╬ ║ AH ║ 04H└ ─╢ DL ║ 4, ┬иммый на стандартное вспомогательное р-во┌ ─╫─╫<─│ ╜ ║ ~ ║└ ─╨─╨<─m: Посылает 4в DL на стандартное вспомогательное о, є1 жAUX. См. mи ь03H Auxiliary Input.P─См.!: и 4ь{в/в р14H Sд.Tы и э  b$У.шB ь05H: ┬на O┌ ─╥─╥;─│ ─ ║ AH ║ 05H└ ─╢ DL ║ 4, кываемый на )й O┌ ─╫─╫<─│ ╜ ║ ~ ║└ ─╨─╨<─m: Посылает 4в DL на стандартное о [и, rLPT1.ле: Уа эMODE ЙaнаправЬ┬в RьvT.P─См.!: и 4ь{в/в р17H Tы Oа и э 9z/z:║ bB ь06H: Сьv╬-┬┌ ─╥─╥;─│ ─ ║ AH ║ 06H└ ─╢ DL ║ 4(от 0 до 0feH), посылаемый на )й ┬ ║ ║ 0ф й╬а со стандарт{╬а┌ ─╫─╫;─│ ╜ ║ ZF ║ Сброшен (NZ), ░4готов ══╦═ Pйе ╬а└ ─╢ AL ║ Считанv4, ░ZF сброшен ═╝ (т.е. PDL=0ф) ╙─╨;─m: PDL = 0ф╛╬с Си "без ожидания", возвращая взведенvнуля (ZF), ░на Си ~готового 4а. ░4готов, сбрасывает ZF (NZ) и ╔ считанv4в AL. ░DL не равен 0ф, то DL направляется на )й ┬.ле: Не Nеряет яЎ. ┴ывайте дважды ╢<ого ·P─См.!: и 4ь{в/в! и э -z( ║  bB ь07H: Нефильтрующий Сьv╬без эха┌ ─╥─╥;─│ ─ ║ AH ║ 07H├ ─╫─╫;─│ ╜ ║ AL ║ 4, полученv )й ╬└ ─╨─╨;─m: Считывает (ожидает) 4со стандарт{─{а и ╔4в AL. Не фильтрует: Не Nеряет на яЎ, backspace и т.п.ля: ┴ывайте дважды ╢╬а <ого 4а ·. Эуйте Fn 0bH ╢Nерки (а (░не хотите ожи╣ нажатия Чи).P─См.!: и 4ь{в/в! и э -z? l( ║ bB ь08H: Сьv╬без эха┌ ─╥─╥;─│ ─ ║ AH ║ 08H├ ─╫─╫;─│ ╜ ║ AL ║ 4, полученv )й ╬└ ─╨─╨;─m: Считывает (ожидает) 4со стандарт{─{а и ╔4в AL. Pобнаружении яЎ╛ся Qе р23H.ле: ┴ывайте дважды ╢╬а <ого 4а ·.P─См.!: и 4ь{в/в! и э  z< @A bB ь09H: Вы╣%у на дисплей┌ ─╥─╥;─│ ─ ║ AH ║ 09H└ ─╢ DS:DX ║ ╪%и, заканчивающейся 4ом '$' (·24H)┌ ─╫─╫;─│ ╜ ║ ~ ║└ ─╨─╨;─m: %а, исключая завершающий ее 4'$', посылается на )й ┬. 4ы Backspace обрабатываются Ъв и 02H Display Char. r, aйти на новую %у, включают в текст пару CR/LF (·13H и ·0aH). %и, содержащие '$', Ивы╣ ю 40H (BX=0).P─См.!: и 4ь{в/в! и э $z%║Al #bB# $ь0aH: ╬%и в ╨┌ ─╥─╥;─│ ─ ║ AH ║ 0aH└ ─╢ DS:DX ║ ╪─{╨а (смотри |)┌ ─╫─╫;─│ ╜ ║ ~ ║ ╨-╬, в конце - 4CR (·0dH)└ ─╨─╨;─m: P─е ╨по ╪у DS:DX ╡╧оформлен ": ┌───┬───┬───┬───┬───┬───┬─ ─ ─ │max│ ? │ ? ? ? ? ? MAX - максимально допимая └EF─ ─ ╖╬а (от 1 до 254) P╜е ╨заполнен ║ми 2дующим образом: ┌───┬───┬───┬───┬───┬───┬─ ─ ─ │max│len│ T E X T 0dH LEN - действительБ╖║х └EF─ ─ без завершающ▒CR (здесь - 04H) 4ы считываются со стандарт{╬а вплоть до CR (0dH) ждо достижения длины MAX-1. ░достигнут MAX-1, включается Сьvзвонок ╢каждого очеред{4а, пока не ╤ введен возврат каретки CR (нажатие Enter). Второй ╓╨а заполняется действительzдлиzвведенz %и, не считая завершающ▒CR. Sдний 4в ╨е - ┼CR (Нй не засчитан в ╓е длины). 4ы в ╨е (включая LEN) в момент ┴qЭуются Ъ "шаблон". В Lе ╬а действительны обычwЧи редакти- рqния: Esc выдает "\" и Гинает с Гала, F3 выдает ╨до конца шаблона, F5 выдает "@" и сохраняет ую %у Ъшаб- лон, и т.д. Большинство <ых Фов ·игнорируются. Pраспознавании яЎ╛ся Qе р23H (╨остается неизменным).P─См.!: и 4ь{в/в! и э 2z6 l) .  4  b$ТB ь0bH: NерЬ(╬а┌ ─╥─╥;─│ ─ ║ AH ║ 0bH├ ─╫─╫;─│ ╜ ║ AL ║ 0ф, ░4│ен со стандарт{╬а└ ─╢ ║ 0, ░~│{4а ╙─╨;─m: Nеряет *е стандарт{╬а. Pраспознавании яЎ╛ся р23H.ля: Эуйте `ями 01H 07H и 08H, избежать ожидания нажатия Чи. я дает простой неразрушающий способ Nерки яЎ в Lе длинuвычи2ний ждругой обработки, rне требующей ╬а. Wвам снимать счет по нажатию яЎ.P─См.!: и 4ь{в/в р16H и э .z1 1  1  11 bB ь0cH: ╬с очисткой┌ ─╥─╥;─│ ╬ ║ AH ║ 0cH└ ─╢ AL ║ yи ╬а э(01H, 06H, 07H, 08H ж0aH)┌ ─╫─╫;─│ ┬ ║ ~ ║└ ─╨─╨;─m: Очищает ╨оaжающ▒╬а стандарт{╬а, а и └ю ╬а, указанную в AL. заставляет 3у ожи╣╬очеред{4а. 2дующие зя допимы в AL: 01H ╬с Шы1 06H ╬с Си1 07H Нефильтрующий без эха1 08H ╬без эха1 0aH ╨изqнv╬P─См.!: и 4ь{в/в! и э 7?? hB ь0dH: Сброс ╕а┌ ─╥─╥;─│ ─ ║ AH ║ 0dH├ ─╫─╫;─│ ╜ ║ ~ ║└ ─╨─╨;─m: Сбрасывает (пишет на ╕) ╞овые ╨а. ░>а изменился, "ой ╡╧ предварительно закрыт (Pпомощи й 10H ж3eH ).P─См.!: Смешанwи э" и э + ы y e%МB ь0eH: Ьий ╕э┌ ─╥─╥;─│ ─ ║ AH ║ 0eH└ ─╢ DL ║ y╕а (0=A, 1=B и т.д.), Нй становится им┌ ─╫─╫;─│ ╜ ║ AL ║ общее  ╕оводов в 3е└ ─╨─╨;─m: ╕, указанvв DL, становится им умалчиваемым в э. Nерка: Эуйте ю 19H "╣ий ╕". В ;е AL ╔ся  ╕оводов ╞х типов, включая  ые ╕и и "логические" ╕и (Ъ╕B: 3е с одним гибким ╕ом).╠: э3.0+ AL ето же зе,  и зе LASTDRIVE, указанное в е ё, и по ю равно 5.P─См.!: и овой 3ы р11H (Контроль оборуд.) и э &Я |ы  dcB ь0fH: i х┌ ─╥─╥;─│ ─ ║ AH ║ 0fH└ ─╢ DS:DX ║ ╪неоткрытого х┌ ─╫─╫;─│ ╜ ║ AL ║ 0 ░открыт без hок (и хзаполнен)└ ─╢ ║ 0ф░обнаружена hка и не Й╧открыт ╙─╨;─m: , описываемый неоткрытым х, ╡существqть в ем pи на ╕е, специфицирqнном в х(0=ий, 1=A, 2=B, и т.д.). ░не существует, ╔ся AL=0ф. открывается в :е совместимости . ░поле Drv в хравно 0 в момент ┴q, то оно заполняется yом ▒╕овода (1=A, 2=B, и т.д.). Поле хCurBlk тся в 0. Поле хRecSize тся в 80H. Поля даты и >а а в ханавливаются из pя.ле: и э2.0+, jwна yа (т), ГОРАЗДО удобнее в работе.P─См.!: х-nи т-jvв/в и э $ЯI  dcB ь10H: Закрыть  х┌ ─╥─╥;─│ ─ ║ AH ║ 10H└ ─╢ DS:DX ║ ╪открытого х┌ ─╫─╫;─│ ╜ ║ AL ║ 0 ░закрыт без hок└ ─╢ ║ 0ф░не Етам, где он был POpen Fn 0fH ╙─╨;─m: ╡находЬся на своем bоГальном месте в ем pи ╕а, на котором он был открыт. ░Е, pе обновляется, овые ╨а сбрасываются, и ╔ся AL=00H. ░не Е, pе не обновляется, происходит масса малоPятuвещей, и в конце концов ╔ся AL=0ф.P─См.!: х-nи т-jvв/в и э  &Я88  Ю+Я  аыO e+ B !ь11H: Найти 1-й совпадающий  х┌ ─╥─╥;─│ ─ ║ AH ║ 11H└ ─╢ DS:DX ║ ╪неоткрытого х(га Йсодержать '?')┌ ─╫─╫;─│ ╜ ║ AL ║ 0 ░подходящее гЕо (и ызаполнена)└ ─╢ ║ 0ф░подходящ▒имени ~ ╙─╨;─m: В ем pи эищется га, +ующее шаблону, заданному в хпо ╪у DS:DX. Pнеудаче ╔ся AL=0ф. ░гЕо, AL очищается, в 1-й ╓ыпомещается y ╕овода (A=1, B=2, и т.д.), а в 2дующие 32 ╓а помещается pя ╢Е{а. ИЭqть P┴ове <ый х, выбирать ы с указанными ╫ами. В м случае в ыпомещаются ╓0ф, 7 ╓нулей, y╕а и pя. В любом случае в ы╡╧Октvнеоткрытый х. я 12H Find Next хЭуется ╢поиска 2дующих имен.ля: ░вы намереваетесь искать Sдующие ы, не выполняйте ниЪих nй в/в с Еным ом. Скопируйте х куда-нибудь в другое место, прежде чем открывать ▒. я э2.0+ 4eh "Найти 1-й " легче в Эqнии; она поддерживает обычvd:\K\га.P─См.!: и овой 3ы ь1aH .ы и э  &Я>'7  Ю% Я e+A ь12H: Найти 2дующий совпадающий  х┌ ─╥─╥;─│ ╬ ║ AH ║ 12H└ ─╢ DS:DX ║ ╪неоткрытого х(га Йсодержать '?')┌ ─╫─╫;─│ ╜ ║ AL ║ 0 ░подходящее га Ео (и ызаполнена)└ ─╢ ║ 0ф░подходящее гне Ео ╙─╨;─m: Эуется S┴q11H "Найти 1-й х" с обобщенным д а. ЫSдующий ┴ов заполняет ыочередным подходя- щим ом pя и ╔AL=00H. ░подходящих имен ╥~, ╔ся AL=0ф. 9ируемая tь в хсохраняет Юю, необходимую ╢ про╡ия поиска. Пому не открывайте и не изменяйте х между ┴qми.P─См.!: и овой 3ы ь1aH .ы и э &Я6 Я( а e+B@ ь13H: УдалЬ х┌ ─╥─╥;─│ ─ ║ AH ║ 13H└ ─╢ DS:DX ║ ╪неоткрытого х(га Йсодержать '?')┌ ─╫─╫;─│ ╜ ║ AL ║ 0 ░удален└ ─╢ ║ 0ф░не Еж│отвергнут ╙─╨;─m: я удаляет ╞подходящие ы в ем pи указан{╕а согласно спецификации в х. ░подходящих ов не Ео, ж░│отвергнут (Ъ Pпопытке удалЬс ╫ом Read-Only), я возвра- щает в ;е AL зе 0ф.P─См.!: и овой 3ы ь41H УдалЬ и э $Я2 Я Я"  dcB ь14H:  Rьv х┌ ─╥─╥;─│ ─ ║ AH ║ 14H└ ─╢ DS:DX ║ ╪открытого х┌ ─╫─╫;─│ ╜ ║ AL ║ 0 ░ е было успешным и ы-║е└ ─╢ ║ 1 ░достигнут Та (EOF) и ║е не считаны ║ ║ 2 ░ы+ хRecSiz ╜ит за 7( я не было) ║ ║ 3 ░EOF и считана усеченБкь (дополнена нулями) ╙─╨;─m: Читает хRecSize ╓с ╪а в е, специфицирqн{ полями CurBlk и CurRec, в ы. и+енно увеличивает зя этих полей в х. `Вм Rьzобработки а сбрасывайте CurRec в 0, "Ъя 0fH Open хне аализирует поле.P─См.!: х-nи т-jvв/в и э $Я Я Я' )  dcB ь15H: ZRьv х┌ ─╥─╥;─│ ─ ║ AH ║ 15H└ ─╢ DS:DX ║ ╪открытого х┌ ─╫─╫;─│ ╜ ║ AL ║ 0 ░кь была успешz└ ─╢ ║ 1 ░hка aполнения ╕а (║е не каны) ║ ║ 2 ░ы+ хRecSize ╜ит за 7(ки не было) ╙─╨;─m: Пишет хRecSize ╓из ыв по ╪у, указанному полями CurBlk и CurRec. и+енно увеличивает зя этих полей в х. `Вм Rьzобработки а сбрасывайте CurRec в 0, ибо я 0fH Open хне аализирует поле.ле: э╨изует ║е, кывая полv6за oраз.P─См.!: х-nи т-jvв/в и э &Я Я0 ,ы  dcB ь16H: , х┌ ─╥─╥;─│ ─ ║ AH ║ 16H└ ─╢ DS:DX ║ ╪неоткрытого х┌ ─╫─╫;─│ ╜ ║ AL ║ 0 ░создан без hок (и хзаполнен)└ ─╢ ║ 0ф░в'етилась hка и не Й╧создан ╙─╨;─m: , специфицирqнvнеоткрытым х, создается на ╕е, указанном в х(0=ий, 1=A, и т.д.). Он открывается в ем умалчиваемом pи ╕а. хзаполняется аналогично и 0fH Open х. ░существует в момент ┴q, ▒pя aкрывается новым ом, а ╖а сбрасывается в 0.ле: т-jwи э2.0+ гораздо удобнее в работе.P─См.!: х-nи т-jvв/в и э Я Я) а e+RB ь17H: aименqть  х┌ ─╥─╥;─│ ─ ║ AH ║ 17H└ ─╢ DS:DX ║ ╪хспециаль{а┌ ─╫─╫;─│ ╜ ║ AL ║ 0 ░aименqн успешно└ ─╢ ║ 0фне Е, новое гсуществует, другие hки ╙─╨;─m: aименовывает в ем умалчиваемом pи. Эуйте 2дующую $у х╢и: ╔══ 0=ий ╕, 1=A, 2=B, и т.д.0. ╖┌─╨─┬─┬ ─┐ +0 0cH │drv│ F I L E N A M E │ E X T │ ═ старое ├E───┴───┼E───┴───┘ +0cH 6 │ за9ирqно │ ├EF─┬ ─┐ +11H 0bH │ F I L E N A M E │ E X T │ ═ новое └EEF─┘ Каждое из имен Йсодержать обобщенw4ы "?":  В старом имени обобщенw4ы Pводят к поиску и aименqнию ╞х подходящих ов в ем pи.  В новом имени 4"?" озГает,  в позиции 2дует оставЬтот же 4,  в той же позиции старого имени.ле: я Waименqть само pе, Эуя <ый хс подходящим ╫ом ╢"старого имени".P─См.!: и овой 3ы ь56H aименов/Удал и э  e%B ь19H: ╣ий ╕э┌ ─╥─╥;─│ ─ ║ AH ║ 19H├ ─╫─╫;─│ ╜ ║ AL ║ y▒умалчиваемого ╕а (0=A, 1=B, и т.д.)└ ─╨─╨;─m: ╔y╕овода ▒умалчиваемого ╕а э.P─См.!: и овой 3ы 0eH .тек.╕ и э  # ( O. PЭ 0{B ь1aH: Ь╪ы┌ ─╥─╥;─│ ─ ║ AH ║ 1aH└ ─╢ DS:DX ║ ╪ы┌ ─╫─╫;─│ ╜ ║ ~ ║└ ─╨─╨;─m: т ╪ы.  ╞х-jwnи работают с ы.  эне Wnям в/в aсекать границу 7а.  и поиска: 11H 12H 4eH и 4fH помещают ║е в ы.  ыглобальна, пому будьте осторожны, назГая ее в рекурсивzжреентерабельzпроцедуре.  Pзапуске Mы ее ытся по 0ению 80H относительно ▐.P─См.!: 2Fh ╣ы Запуск и пе M и э   x. 7@ 3 ы  x*!/743B ь1bH: ╣Юю ц(ий ╕)┌ ─╥─╥;─│ ─ ║ AH ║ 1bH├ ─╫─╫;─│ ╜ ║ DS:BX ║ ╪╓а цID (отражающ▒тип ╕а)└ ─╢ DX ║ ╞го Цов (единиц =я) на ╕е ║ AL ║ 6ов на Ц ║ CX ║ ╓на 6 ╙─╨;─m: ╔Юю о >е и типе умалчиваемого ╕а. >╕а в ╓ах = (DX * AL * CX) Ищите свободную fь ями 36h Disk Free ж32h Disk Info.╠: э1.x держит цв fи и ╔DS:BX => ц. э2.0+ Йдержать в fи лишь порцию ╞й ц.Предупрежде}: я изменяет .е ;а DS.P─См.!: #а ц и 1cH 36H 32H и э  x   x* /743B ь1cH: ╣Юю ц(Л╕)┌ ─╥─╥;─│ ─ s ║ AH ║ 1cH└ ─╢ DL ║ y╕а (0=ий, 1=A, и т.д.)┌ ─╫─╫;─│ ╜ ║ DS:BX ║ ╪╓а цID (отражающ▒тип ╕а)└ ─╢ DX ║ ╞го Цов (единиц =я) ║ AL ║ 6ов на Ц ║ CX ║ ╓на 6 ╙─╨;─m: Аналогична и 1bH Get ц, с той разницей,  ;DL ╕, ╢которого вы хотите VЮю.╠: Не│на ╢э1.x.P─См.!: #а ц и 1bH 36H 32H и э  $Я2!Я Я Я  dcB ь21H:  произвольную кь а┌ ─╥─╥;─│ ─ ║ AH ║ 21H└ ─╢ DS:DX ║ ╪открытого х┌ ─╫─╫;─│ ╜ ║ AL ║ 0 ░ е было успешным и ызаполнена ║ми└ ─╢ ║ 1 ░достигнут Та (EOF) и  я не было ║ ║ 2 ░ы+ хRecSize ╜ит за 7( я ~) ║ ║ 3 в'ечен EOF и усеченБкь дополнена нулями ╙─╨;─m: Pводит поля хCurBlk и CurRec в +ие с RandomRec, ичитает RecSize ╓по указанному ╪у в е, помещая считанw║е в ы. Поле RecSize в момент ┴qдолжно содержать длину ки, а поле RandomRec в х- yтребуемой ки.P─См.!: х-nи т-jvв/в и э  $Я!Я Я) Я  dcB ь22H: Zпроизвольную кь а┌ ─╥─╥;─│ ─ ║ AH ║ 22H└ ─╢ DS:DX ║ ╪открытого х┌ ─╫─╫;─│ ╜ ║ AL ║ 0 ░кь была успешz└ ─╢ ║ 1 Paполнении ╕а ║ ║ 2 ░ы+ хRecSize ╜ит за 7(~ки) ╙─╨;─m: Pводит поля хCurBlk и CurRec в +ие с RandomRec, ипишет RecSize ╓из ына ╕по указанному ╪у в е. В момент ┴qполе RecSiz должно содержать длину ки, а поле RandomRec в х- yтребуемой ки.P─См.!: х-nи т-jvв/в и э &Я,Я >+C eB ь23H: ╣>а  х┌ ─╥─╥;─│ ─ ║ AH ║ 23H└ ─╢ DS:DX ║ ╪неоткрытого х┌ ─╫─╫;─│ ╜ ║ AL ║ 0 ░Е└ ─╢ ║ 0ф░не Ев ем pи ╙─╨;─m: т поле RandomRec в хравным числу кей >а RecSize ╓, содержащихся в е. зе RecSize должно ╧задано в момент ┴q. PRecSize, равном 1, RandomRec ╔4-╓овый >а в ╓ах. Вам Йоказаться проще kЬ>а  ю 3dH Open тс Sдующей 42H Lseek (PAL=2).P─См.!: и овой 3ы и э $Я,Я  dCB ь24H: Ь╪произвольzки в е┌ ─╥─╥;─│ ─ ║ AH ║ 24H└ ─╢ DS:DX ║ ╪открытого х┌ ─╫─╫;─│ ╜ ║ ~ ║└ ─╨─╨;─m: т поле RandomRec в хна овый ╪, +ующий зям полей CurBlk и CurRec.P─См.!: х-nи 42H Lseek т и э  6B ь25H: Ь═Qя┌ ─╥─╥;─│ ─ ║ AH ║ 25H└ ─╢ AL ║ yQя ║ DS:DX ║ ═Qя: ╪Mы обработки Qя┌ ─╫─╫;─│ ╜ ║ ~ ║└ ─╨─╨;─m: т зе а #ы ═ов Qй ╢ Qя с yом AL равным DS:DX. равносильно ки 4-╓ового ╪а в 0:(AL*4), но, в отличие от прямой ки, эздесь знает,  вы делаете, и гарантирует,  в момент ки Qя будут за╘ирqны.Предупрежде}: Не забудьте восстановЬDS (░необходимо) S ┴q.P─См.!: 35H ╣═Qя и э  :Э& k0 l: m й{$j?M #ЭB ь26H: По'оЬ▐┌ ─╥─╥;─│ ─ ║ AH ║ 26H└ ─╢ DX ║ ╪7а (eа) ╢нового ▐ ║ CS ║ 7▐, Эуемого Ъшаблон ╢нового ▐┌ ─╫─╫;─│ ╜ ║ ~ ║└ ─╨─╨;─m: т ▐╢порождаемого Lа по ╪у DX:0.  ий ▐(100H ╓, Гвс CS:0), копируется в DX:0  поле MemTop +енно Октируется  ═ы Terminate, яЎи Critical Error копируются в ▐ из ═ов Qй р22H , р23H и р24H Sвы Йе мЬMу с ╕а и `ать ей е посредством FAR JMP. См. нок EXE о мке ов в EXE-е. См. !Запуск и пе M.ле: ░вы aхватываете р21H, позаботьтесь о помещении в стек Окт{CS:IP. Еще лучше Эqть ю 4cH (ч).P─См.!: Префикс M{7а (▐) и э $Я,!Я$Я  dcB ь27H:  произвольv╘а┌ ─╥─╥;─│ ─ ║ AH ║ 27H└ ─╢ DS:DX ║ ╪открытого х ║ CX ║  считываемых кей┌ ─╫─╫;─│ ╜ ║ AL ║ 0 ░ е успешно и ызаполнена ║ми└ ─╢ ║ 1 ░достигнут Та (EOF) и ║е не считаны ║ ║ 2 ░ы+ х(RecSize*CX) ╜ит за границу 7а ║ ║ 3 ░EOF и считана усеченБпорция (дополнена нулями) ║ CX ║ действительное  считанuкей ╙─╨;─m: Читает кей из а, Гвс ового ╪а, специфицирqн{полем RandomRec в х. Помещает ║е в fь, Гвс ╪а ы.  считанu╓= хRecSize*CX. Поля RandomRec, CurBlk и CurRec Октируются, указывать на 2дующую кь (bую кь за прочитанными).P─См.!: х-nи т-jvв/в и э $Я!Я2 Я  dcB ь28H: Zпроизвольv╘а┌ ─╥─╥;─│ ─ ║ AH ║ 28H└ ─╢ DS:DX ║ ╪открытого х ║ CX ║  кываемых кей (░CX=0, . >а)┌ ─╫─╫;─│ ╜ ║ AL ║ 0 ░кь успешна└ ─╢ ║ 1 Paполнении ╕а ║ ║ 2 ░ы+ х(RecSize*CX) ╜ит за границу 7а ║ CX ║ действительное  канuкей ╙─╨;─m: кывает кей в , Гвс ового ╪а, специфицирqн{полем RandomRec в х. ║е берутся из fи, Гвс ы.  кываемых ╓=(RecSize * CX). ░CX=0 P┴ове, то >а усекается жрасширяется до величины RandomRec * RecSize (ниЪие ║е не кываются).P─См.!: х-nи т-jvв/в и э AЯ ЯB" #ь29H: Разобрать га┌ ─╥─╥;─│ ─ ║ AH ║ 29H└ ─╢ DS:SI ║ ╪исходzтекстовой %и ╢разбора ║ ES:DI ║ ╪╨а ╢результирующ▒неоткрытого х ║ AL ║ ╒овые и, указывающие опции разбора (см. |)┌ ─╫─╫;─│ ╜ ║ AL ║ 0 ░результирующий хне -обобщенu4ов└ ─╢ ║ 1 ░результирующий х-обобщенw4ы ║ ║ 0ф░неверно обозе ╕а в имени а ║ DS:SI ║ изменен: на 4сразу в2д за да ║ ES:DI ║ не изменен: на неоткрытый х ╙─╨;─m: Создает неоткрытый хиз %и текста жcа Уы. Текст, Гвс DS:SI, анализируется Ъга в е D:FILENAME.EXT, и ╨по ╪у ES:DI заполняется Ъ +енно ирqнvх. ═ я НЕПРИМЕНИМА, ░текстqя %а -K. rона Эуется ╢aвода в верхний ;и удаления точки из имени а, введен{с Шы. Pм '*' aводится в ряд '?'. я Wпредусмотреть е в целевом х(Д, заполнЬрасшире}= "WKS"). Способ разбора kяется ╒овыми ами в AL: B ║0 0 0 0J║ ╙G┴─┴D┴╥╜ ╒$ маска ║ H═ 0: 1=отбросЬведущие ?и (a & 01H) H═══ 1: 1=╕в х= е (a & 02H) ║ ╚═ 2: 1=га в х= е (a & 04H) ╚═ 3: 1=расшире}в х= е (a & 08H)P─См.!:9 и э 9ы ы -,B ь2aH: ╣3ную дату┌ ─╥─╥;─│ ─ ║ AH ║ 2aH├ ─╫─╫;─│ ╜ ║ AL ║ день недели (0=Вск, 1=Пнд,...6=Сбт) э3.0+└ ─╢ CX ║ год (1980 до 2099) ║ DH ║ месяц (1 до 12) ║ DL ║ день (1 до 31) ╙─╨;─m: ╔ую дату, Ъона известна 3е.╠: э2.x не гарантирует возврата в AL зя дня; ╞╠1.0+ возвращают правильvдень недели. ╠до 2.1 имеют проблемы с \ом  дату.P─См.!: 2cH ╣╟ 2bH . дату и э  -+B ь2bH: Ь3ную дату┌ ─╥─╥;─│ ─ ║ AH ║ 2bH└ ─╢ CX ║ год (1980 до 2099) ║ DH ║ месяц (1 до 12) ║ DL ║ день (1 до 31)┌ ─╫─╫;─│ ╜ ║ AL ║ 0 ░дата Октна└ ─╢ ║ 0ф░дата неОктна ╙─╨;─m: т 3ную дату э.P─См.!: 2cH .╟ 2aH ╣дату и э ЖС .+B ь2cH: ╣╟э┌ ─╥─╥;─│ ─ ║ AH ║ 2cH├ ─╫─╫;─│ ╜ ║ CH ║ часы (0 до 23)└ ─╢ CL ║ минуты (0 до 59) ║ DH ║ секунды (0 до 59) ║ DL ║ сотые доли секунды (0 до 99) ╙─╨;─m: ╔ее ╟, Ъоно известно 3е.ле: Поскольку 3wчасы имеют частоту 18.2 тиков в секунду (Явал 55мс), DL еточность Pмерно 0.04 сек. См. р08H и р15H о 3uчасах.P─См.!: 2dH .╟ 2aH ╣дату и э  -,B ь2dH: Ь╟э┌ ─╥─╥;─│ ─ ║ AH ║ 2dH└ ─╢ CH ║ часы (0 до 23) ║ CL ║ минуты (0 до 59) ║ DH ║ секунды (0 до 59) ║ DL ║ сотые доли секунды (0 до 99)┌ ─╫─╫;─│ ╜ ║ AL ║ 0 ░╟Октно└ ─╢ ║ 0ф░╟неОктно ╙─╨;─m: т 3ное ╟э.P─См.!: 2cH ╣╟ 2bH . дату и э RRB ь2eH: Ь/сбросЬ_ь верификации┌ ─╥─╥;─│ ─ ║ AH ║ 2eH└ ─╢ AL ║ 0 отключЬверификацию ║ ║ 1 включЬверификацию┌ ─╫─╫;─│ ╜ ║ ~ ║└ ─╨─╨;─m: т, должна ли эверифицирqть (считывать обратно) Ы6, кываемый на ╕. заме╢ет nи ки на ╕, но гарантирует максимальную надежность ки. я 56H Get Verify ╔ий (верификации э.P─См.!: ь56H. и э )%  B ь2fH: ╣╪ей ы┌ ─╥─╥;─│ ─ ║ AH ║ 2fH├ ─╫─╫;─│ ╜ ║ ES:BX ║ ╪Гала ей ы└ ─╨─╨;─m: ╔╪Гала tи ╬а-┬а (ы). Поскольку ыглобальна ╢╞х Lов, в рекурсивz процедуре (Д, Pпроходе по дереву pя) Й потребqться сохранЬ╪ы, а вSдствии восстановЬ ▒посредством и 1aH ". ы".ле: я изменяет 7v;ES.P─См.!: 1aH .ы, и э ы& ы ы  ыaB ь30H: ╣y╠э┌ ─╥─╥;─│ ─ ║ AH ║ 30H├ ─╫─╫;─│ ╜ ║ AL ║ старший y╠└ ─╢ AH ║ младший y╠ ║ BX,CX ║ 0H э3.0+ ╙─╨;─m: ╔в AX зе ▒yа ╠э. Д, ╢э3.20, в AL ╔ся 3, в AH - 14H.ле: ░в AL ╔ся 0, Ипредполагать,  работает э ╙ранней ╠, чем э2.0 .╠: э2.x не гарантирует очистки ;ов CX и BX.P─См.!: ╠э и Юи о 3е и э  N5 N-o f*{B ь31H: ося и остаться 8м - KEEP┌ ─╥─╥;─│ ─ ║ AH ║ 31H└ ─╢ AL ║ Ф╜а ║ DX ║ объем fи, оставляемой резидентz, в eах┌ ─╫─╫;─│ ╜ ║ ~ ║ (неPменим)└ ─╨─╨;─m: ╜ит в родительский L, сохраняя Ф╜а в AL. Ф╜а ИV ю 4dH Wait. эт Гальное =е fи, Ъспецифици- рqно в DX, и ╔е родительскому Lу, оставляя указанную fь резидентz( ╓= DX * 16). я aкрывает ю р27H, которая не ╔ Ф╜а и неспособна Ьрезидентную Mу, большую 64K.P─См.!: и я Lами Запуск и пе и э  эдs#▒5│2д д" nB ь32H: ╣Юю эо ╕е┌ ─╥─╥;─│ ─ ║ AH ║ 32H НЕТ В ДОКУМЕНТАЦИИ└ ─╢ DL ║ y╕а (0=ий, 1=A, и т.д.)┌ ─╫─╫;─│ ╜ ║ AL ║ 0 ░DL задавал Октv╕│ ║ FF ║ 0ф░╕задан неверно│ ║ DS:BX ║ ╪╘а Юи ╕а ╢запрошен{а└ ─╨─╨;─m: ╔╘Юи, представляющей Яес ╢Pложений и утжт, Не выполняют │к ╕ам, поддерживаемым ▓ами , на уровне 6ов. НеНе ╕оводы (особенно незагружаемые) онируют   свои ▓ы . "ие ╕и могут содержать неверную Юю в Пй ки и #е @ов ,   делает очень трудным kе}, Д, >а Пго pя, числа #ц, и т.п. ╘Юи ╕а -╞"ие ║е в хорошо ирqнz$е. Й╧единственным способом kЬ╪▓а.Предупрежде}: Изменяет 7v;DS. я ЙизменЬся в будущих версиях э.P─См.!: ╘Юи ╕а р25H/26H и э $ l z lB ь33H: Ь/опросЬ(яЎ┌ ─╥─╥;─│ ─ ║ AH ║ 33H└ ─╢ AL ║ 0 опросЬий (контроля яЎ ║ ║ 1 Ь(контроля яЎ ║ DL ║ требуемый ((0=OFF, 1=ON) (PAL=1)┌ ─╫─╫;─│ ╜ ║ DL ║ ий ((0=OFF, 1=ON)└ ─╨─╨;─m: ░AL=0, в DL ╔ся ий (контроля яЎ. ░AL=1, в DL ╔ся новый ий (. Х(ON, эNеряет на яЎс Си ╢ большинства й (исключая 06H и 07H). Pобнаружении, ╛ся Qе р23H (░оно не aхватывается, то Lснимается). P(е OFF, эNеряет на яЎлишь Pnях стандарт{в/в , стандартz[и и стандарт{AUX.P─См.!: 0bH (╬а р23H и э  э&8 j3#'(p6+j 0f*0Ж;0B0 1ь34H: ╪(а реентерабельности э┌ ─╥─╥;─│ ─ ║ AH ║ 34H НЕТ В ДОКУМЕНТАЦИИ├ ─╫─╫;─│ ╜ ║ ES:BX ║ ╪а активности э└ ─╨─╨;─m: Эту недокументирqнную ю Эует PRр(фоновый спулер [и) в момент ▒ки, " он Йпозднее kЬ, ХИЭqть овые и э. Pвозврате из и ES:BX -╪внутренн▒ а э, указывающ▒, ╛ся ли в ║й момент Ъая-либо я э. Хспулеру PRрi (ж┴вать ю э), он Nеряет . ░ES:[BX] -не 0, фонqя Mа (TSR, либо popup) НЕ ДОЛЖНА Эqть ниЪих й э. 8е popup-Mы часто активизируются по Qю от таймера жШы. "ЪЙпроизойти в Л момент, то не исключено,  в момент ╤выполняться Ъая-либо я э. ░в "ой цитуации popup ┴овет ю э, разрушит стек эи, вероятно, Pведет к ката'офической hке. Путем Nерки а popup ЙkЬ, возможны ли ┴овы й э. , однако, осложняется тем фактом,  Єи неНе другие Mы Nодят большую часть ╚, йив ╬с Шы  ю 0aH (╣%у). "им образом,  почти ┼взведен, и на службу эналожено табу. Вы Йе выйти из положения, aхватывая р21H и от2живая ┴овы и 0aH. ХPходит "ой й, не выполняйте ▒немедленно. Вместо организуйте цикл, в котором с некоторой задержкой ┴ывайте ю 0bH (╣(╬а). Циклите, пока не заметите,  нажата Ча. SИ выйти из цикла и ┴вать ю 0aH. Понятно,  P"ом способе ┼существует окно ╚, в котором проснувшийся popup Йбез боязни Эqть и э. И!aхватывать р28H , ░вы лю╒е рискqть.Предупрежде}: я не документирqна, и опираться на нее рискqнно. Большинство popup-Maхватывают р21H и от2живают (эиндивидуально (поскольку им и "Pходится от2живать ю 0aH).P─См.!: и я Lами р08H я 0aH и э  &B ь35H: ╣═Qя┌ ─╥─╥;─│ ─ ║ AH ║ 35H└ ─╢ AL ║ yQя (00H до 0ф)┌ ─╫─╫;─│ ╜ ║ ES:BX ║ ╪обработчика Qя└ ─╨─╨;─m: ╔зе ═а Qя ╢р(AL); то есть, загружает в BX 0:[AL*4], а в ES - 0:[(AL*4)+2].Предупрежде}: я изменяет 7v;ES.P─См.!: 25H . ═Qя и э  3 B ь36H: ╣свободную fь ╕а┌ ─╥─╥;─│ ─ ║ AH ║ 36H└ ─╢ DL ║ y╕а (0=ий, 1=A, и т.д.)┌ ─╫─╫;─│ ╜ ║ AX ║ 0fH, ░AL содержал Аy╕а└ ─╢ ║  6ов на Ц, ░~hок ║ BX ║ │uЦов ║ CX ║ ╓на 6 ║ DX ║ ╞го Цов на ╕е ╙─╨;─m: ╔║е, полезw╢подсчета общей и │z ╕овой fи. ░в AX возвращено 0fH, зГит, вы задали А╕. ИГе, свободБfь в ╓ах = (AX * BX * CX) ╞го fи в ╓ах = (AX * CX * DX)P─См.!: 32H Инф. о ╕е 1bH ╣Юю ц и э э,Э  yB ь37H: Ь/опросЬ4-_ь┌ ─╥─╥;─│ ─ ║ AH ║ 37H НЕТ В ДОКУМЕНТАЦИИ└ ─╢ AL ║ 0 опросЬий _ь ║ ║ 1 Ь4-_ь ║ DL ║ 4-_ь (PAL=1)┌ ─╫─╫;─│ ╜ ║ DL ║ ий 4-_ь э└ ─╨─╨;─m: т жопрашивает "глобальv_ь" э. _ь (SWITCHAR) - 4, Эуемый в Уz %е ЪPзнак опции. По ю Pнимается '/' (Д, DIR /w/p), но вы Йе изменЬSWITCHAR на '-' (DIR -w-p), ░хотите, ваша 3а была ╥похожа на UNIX. ОбщеPнято опрашивать зе SWITCHAR `разбором tи неирqнucов в ▐╢выделения опций Уы.Предупрежде}: недокументирqнБУа ЙизменЬся в будущих версиях э. Рекомендуется НЕ изменять SWITCHAR, поскольку многие Mы не опрашивают ▒зе.P─См.!: ё- и э  , г7в ~, г7 y%вв ы+в  yB  ь38H: ╣/ЬЮю о 'ане┌ ─╥─╥;─│ ─ ║ AH ║ 38H└ ─╢ DX ║ 0fH ЬФ'аны равным AL (жBX) ║ DS:DX ║ ╪локаль{╨а ╢ я ╘a ║х 'аны ║ AL ║ 0 V║е ╢ей 'аны ║ ║ 1 до 0feH V║е ╢указанz'аны < 255 ║ ║ 0ф V║е ╢Фа 'аны Є 255 ║ BX ║ (░AL=0ф) 16-╒овый Ф'аны┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен│ ║ BX ║ Ф'аны (░AL=0 P─е)└ ─╨─╨;─m: ░DX=0fH, то ий Ф'аны тся равным AL (░AL=0ф, то Ф'аны тся равным BX). rФ'аны тся в е ё. ░DX < 0fH, то DS:DX ╪ует ╨Uя, в Нй помещается 20H-╓овый ╘║х 'аны ╢указанz'аны.ле: ╪┴qCaseMap ИЭqть ╢kения сопоставляющей (сортирующей) Rьности 4ов в разuалфавитах.╠: э2.x не Wанавливать Ф'аны. В м случае cы ┴qпроще: ─: AL=0 DS:DX = ╪20H-╓ового локаль{╨а ╜: aсылает в DS:DX ╘║х 'аны ╢э2.xP─См.!: ё- и э !╒ ~ eB ь39H: ,новое pе -- MKDIR┌ ─╥─╥;─│ ─ ║ AH ║ 39H└ ─╢ DS:DX ║ ╪%и ∙с дpя┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╨─╨;─m: DS:DX на %у ∙в форме: "d:\K\pе",0 ░╕и/жПй Kопущены, они берутся по ю. Подpе создается и связывается с существующим деревом. ░CF лен Pвозврате, то AX -Фhки, и pе не создается.P─См.!: и овой 3ы и э !╒ ~ eB ь3aH: УдалЬpе -- RMDIR┌ ─╥─╥;─│ ─ ║ AH ║ 3aH└ ─╢ DS:DX ║ ╪%и ∙с дpя┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╨─╨;─m: DS:DX на %у ∙в форме: "d:\K\pе",0. ░╕и/жПй Kопущены, они берутся по ю. Подpе удаляется из $ы pй. ░CF лен Pвозврате, то AX -Фhки, и pе не удаляется.ле: pе не должно содержать ов и подpй и не должно ╧связано возможными ограничениями э(Д, не должно ╧задействqно в активuУах JOIN жSUBST).P─См.!: и овой 3ы и э !╒ ~ eB ь3bH: Ьумалчиваемое pе э-- CHDIR┌ ─╥─╥;─│ ─ ║ AH ║ 3bH└ ─╢ DS:DX ║ ╪%и ∙с дpя┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╨─╨;─m: DS:DX на %у ∙в форме: "d:\K\pе",0. ░╕и/жПй Kопущены, они берутся по ю. Указанное подpе ╢указан{╕а становится им (умалчиваемым) pем э╢(ж▒) ╕а. ░CF лен Pвозврате, то AX -Фhки, и ее pе ╢выбран{╕а не изменяется.P─См.!: и овой 3ы и э  !╒ а ~╕ | а6D  y!V c' dB ь3cH: , lь┌ ─╥─╥;─│ ─ ║ AH ║ 3cH└ ─╢ DS:DX ║ ╪%и ∙с да ║ CX ║ ╫а┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╢ ║ lь а ░hки ~ ╙─╨;─m: DS:DX на %у ∙в форме: "d:\K\га",0. ░╕и/жKопущены, они Pнимаются по ю.  создается в указанном (жумалчиваемом) pи  открывается в :е │а  е/кь  вы ┤созранЬlь (т) ╢Sдующих nй  ░уже существует:  Pоткрытии усекается до нулевой длины  ░╫а -  е, открытие отвергается (╫ИизменЬей 43H ИзменЬ╫)  ёспецифицирует  │ulей в 3е  Эуйте ю 5bH ,Новый , ░вы не хотите aкрывать существующий .P─См.!: т-jvв/в х-nи и э  !╒| ~╕3 =* |>C  y c' dB ь3dH: ilь а┌ ─╥─╥;─│ ─ ║ AH ║ 3dH└ ─╢ DS:DX ║ ╪%и ∙с да ║ AL ║ :открытия┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╢ ║ lь а ░~hки ╙─╨;─m: DS:DX на %у ∙в форме: "d:\K\га",0. ░╕и/жKопущены, они Pнимаются по ю.  ╡существqть. См. ю 3cH (,).  открывается в выбранном :е │а / :е Открытия Совместимость с э2.x и избежа}сетевых :ов обуспечивают: AL = 0 i╢ я AL = 1 i╢ки AL = 2 i╢ я и ки  ь  я/ки тся в 0. См. 42H (LSEEK)  вы ┤сохранЬlь (т) ╢Sдующих nй  @е}ов должно ╧активизирqно (Уа эSHARE), ░запрашивается открытие в одном из :ов @ения.  ёспецифицирует  │ulей ов.P─См.!: т-jvв/в х-nи и э ╕ ~ c' dB ь3eH: Закрыть lь а┌ ─╥─╥;─│ ─ ║ AH ║ 3eH└ ─╢ BX ║ lь а┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╨─╨;─m: BX -lь а (т), возвращенvPоткрытии. , представленvэтим lем, закрывается, ▒╨а сбрасываются, и pе обновляется Октными >ом, временем и датой. Из-за нехватки lей ов (максимум 20, по ю 8), вам Йпонадо╒ься закрыть часть умалчиваемых lей, Ъ, Д, lь 3 ()й AUX).P─См.!: т-jvв/в х-nи и э ╕ ~!C"z )c') dB) *ь3fH:   lь┌ ─╥─╥;─│ ─ ║ AH ║ 3fH└ ─╢ BX ║ lь а ║ DS:DX ║ ╪╨а ╢ я ║х ║ CX ║  считываемых ╓┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╢ AX ║  действительно прочитанu╓ ╙─╨;─m: CX ╓║х считываются из а жа с lем, указанным в BX. ║е читаются с ей позиции я  я/ки а и помещаются в ╨┴ывающей Mы, ╪уемый  DS:DX. Эуйте ю 42H LSEEK, Ьь а, ░необходимо (OPEN сбрасывает ь в 0). Модифицирует ь  я/ки а, подготавливая ▒ к Sдующим nям  я жки. Вы ┤┼сравнивать возвращаемое зе AX (  прочитанu╓) с CX (запрошенное  ╓):  ░AX = CX, (и CF сброшен) -  е было без hок  ░AX = 0, достигнут Та (EOF)  ░AX < CX (но ненулевой): P и с а - ─Б%а едлину AX ╓ P и из а - в Lе  я достигнут EOFля: я превосходит сложwи неудобwх-и. Она эффективно сочетает произвольvи Rьv│, позволяя Uю выполнять свое собственное ╘ирq}. Она удобна ╢ я )х lей, "их, Ъ lи Стандарт{в/в , взамен м{чи2нu╨изующих и по4ьuх-й ╬а. Хвы читаете с а, AX ╔длину считанz %и с учетом завершающ▒возврата каретки CR (·0dH).P─См.!: т-jvв/в х-nи и э ╕ ~!C#z #c'# dB# $ь40H: Zв  lь┌ ─╥─╥;─│ ─ ║ AH ║ 40H└ ─╢ BX ║ lь а ║ DS:DX ║ ╪╨а, содержащ▒кываемые ║е ║ CX ║  кываемых ╓┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╢ AL ║  реально считанu╓═ ╢Nерки hок ╙─╨;─m: CX ╓║х кывается в жна о с lем, за║м в BX. ║е берутся из ╨а, ╪уемого  DS:DX, и кываются, Гвс ей позиции я  я/ки а. Эуйте ю 42H LSEEK, Ьь а, ░необходимо (OPEN сбрасывает ь в 0). Обновляет ь  я/ки а, подготовЬся к Sдующим nям Rь{ я жки. Вы ┤┼сравнивать возвращаемое зе AX (  канu╓) с CX (запрошенное  ╓╢ки).  ░AX = CX, кь была успешz  ░AX < CX, в'етилась hка (скорее ╞го, aполне})ле: я превосходит сложwи неудобwх-и. Она эффективно сочетает произвольvи Rьv│, позволяя Uю осуществлять собственное ╘ирq}. Удобно Эqть эту ю ╢┬а на умалчиваемые а, "ие Ъ)й ┬, вместо Эqния различuй ┬а текста.P─См.!: т-jvв/в х-nи и э !╒ ~ а<D eB ь41H: УдалЬ┌ ─╥─╥;─│ ─ ║ AH ║ 41H└ ─╢ DS:DX ║ ╪%и ∙с да┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╨─╨;─m: DS:DX на %у ∙в форме: "d:\K\га",0. ░╕и/жKопущены, они Pнимаются по ю. га не Йсодержать обобщенw4ы ('?' и '*'). удаляется из задан{pя задан{╕а. ░е╫ е, то `удале}м необходимо изменЬ╫ ю 43H CHMOD.P─См.!: и овой 3ы и э ╕ ~ c' dB ь42H: Ьь а -- LSEEK┌ ─╥─╥;─│ ─ ║ AH ║ 42H└ ─╢ BX ║ lь а ║ CX:DX ║ на сколько `винуть ь: (CX * 65536) + DX ║ AL ║ 0 ^естЬк Галу а + CX:DX ║ ║ 1 ^естЬк ей позиции + CX:DX ║ ║ 2 ^естЬк концу а + CX:DX┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╢ DX:AX ║ нqя позиция я а (░~hки) ╙─╨;─m: ^ещает логический ь  я/ки к нужному ╪у. ОчередБnя  я жки Г~ся с ╪а.ле: ┴ов с AL=2, CX=0, DX=0 ╔длину а в DX:AX. ДействительБ╖равна (DX * 65536) + AX.P─См.!: т-jvв/в хFile I/O и э !╒8 а ~ e) аB ь43H: Ь/опросЬ╫а -- CHMOD┌ ─╥─╥;─│ ─ ║ AH ║ 43H└ ─╢ DS:DX ║ ╪%и ∙с да ║ AL ║ ФX: 0 = извлечь ий ╫а ║ ║ 1 = Ь╫а ║ CX ║ новый ╫а (╢X01H)┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╢ CX ║ ий ╫а (╢X00H) ╙─╨;─m: DS:DX на %у ∙в форме: "d:\K\га",0. ░╕и/жKопущены, они Pнимаются по ю. ╫а читается жтся, согласно Фу в AL.ле: скрыть pе, Эуйте CX=02H (а не 12H, Ъвы, возИ, ожидали).P─См.!: и овой 3ы ╫а и э &IыEыI ыI ы ~╕е ╕!е(╕) ~0 ~5╕A:ы> ~?AыCл)HыL╕MлEQы4RmT ~ Yы-Y╩ fжh ~r╦Cwы!ВзД ~8ЙыЛ ~;ЦыЩ ~ вевsBв гь44H: е ом в/в -- ▀┌ ─╥─╥;─│ ─ ║ AH ║ 44H└ ─╢ AL ║ ФX: ║ ║ 00H=╣Юю р 08H=йсъемн x ║ ║ 01H=. Юю р 09H=йудал р ║ ║ 02H= с симв. р 0aH=йудал lя ║ ║ 03H=Zна симв. р 0bH=счет повторов @ения ║ ║ 04H= с блоч{р 0cH=Фовые &ы 3.3 ║ ║ 05H=Zна блочное р 0dH=общий ▀ э3.2+ ║ ║ 06H=╣(╬а 0eH=╣логич р 3.2+ ║ ║ 07H=╣(┬а 0fH=логич р 3.2+ ║ прочие║ (в зависимости от X)┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╢ ║ жиное зе (в зависимости от X) ╙─╨;─m: ▀предоставляет метод взаимодействия с ами и получения Юи о ах. ─wcы и ╜w зя варьируются в зависимости от Фа Xв AL.╠: X0-7  . э2.1+ X8,0bH  . э3.0+ X9,0aH  . э3.1+ X0dH,0eH,0fH . э3.2+ ■ A■Y. 00H: йЬи Юи об е ─: BX= lь а (о ж╕овый ) ╜: DX= ▀Инф об р ■ A■Y. 01H: Ьи Юи об е ─: BX= lь а (о ж╕овый ) DX= ▀Инф об р (DH ╡╧нулевым) ╜: DX= ▀Инф об р ■ A■Y. 02-03:  (AL=02H) жZ(AL=03H) %у на СИМВОЛЬНОЕ р ─: DS:DX=> ╪╨а ( е) ж║х (кь) CX=  `аваемых ╓ BX= lь а (о -- не !) ╜: AX= Фhки ░CF лен ■ A■Y. 04-05:  (AL=04H) жZ(AL=05H) %у ▀на БЛОЧНОЕ р ─: DS:DX=> ╪╨а ( е) ж║х (кь) CX=  `аваемых ╓ BL= ID ╕а (0=ий, 1=A, и т.д.) ╜: AX= Фhки ░CF лен AX=действительное  `анu╓(░CF=NC=0) ■ A■Y. 06-07: ╣(╬а (AL=06H) ж(┬а (AL=07H) ─: BX= lь а (о ж╕овый ) ╜: AL= 0ф=не Та; 0=EOF (╢╕овых lей) AL= 0ф=готово; 0=не готово (╢) ■ A■Y. 08H: Эует ли блочное о съемvноситель? э3.0+ ─: BL= ID ╕а (0=ий, 1=A, и т.д.) ╜: AX= 00H=съемvноситель (т.е. флоппи-╕) 01H=не съемv( ый ╕ж▌-╕) 0fH Фhки ░BL -А╕ ■ A■Y. 09H: Является ли о съемным в сети? э3.1+ ─: BL= ID ╕а (0=ий, 1=A, и т.д.) ╜: DX= ╫а ╢╕а. ░╒12=1 (т.е., DX & 1000H = 1000H), то о съемное. ■ A■Y. 0aH: Pнадлежит ли lь а локальному жудаленному у в сети? э3.1+ Нам посоветqли не Эqть эту Yункцию. Вместо  трактуйте удаленwа Ълокальw. ─: BX= lь а (о -- не ) ╜: DX= ╫а ╢╕а. ░╒15=1 (т.е., DX & 8000H = 8000H), то о удаленное. ■ A■Y. 0bH: Контроль повторения P@ении и ╘ировке ов. 3.0+ ─: DX=  попыток `┴овом р24H "Критич. hка" CX= счетчик цикла между попытками ╜: AX= Фhки ░CF лен ле: е - 3 попытки и счетчик цикла 1. ■ A■SubFn 0cH: э3.3 Поддержка aключения Фовых & ─: BX= lь открытого а CH= тип р-ва: 00 = неизвестен( 01 = єn (Sд. о)( 03 = CON (Сь)( 05 = LPTn (dый O) CL= Фдействия 4cH = Вподготовки Фовой &ы 4dH = Тподготовки Фовой &ы 4aH = ├подготовленную Фовую &у 6aH = Vую активную Фовую &у 6bH = Vсписок подготовленuФовых & DS:DX=> ╪gа ║х ▀. См.: gы ▀440cH о $ах gов ╢каждого Фа действия. ╜: AX= Фhки, ░CF лен DS:DX=> g║х Йсодержать Юю возврата. ╢подготовки Фовой &ы задайте CL=4cH, а ивыдайте ряд ┴овов Fn 44H, SubFn 03H (▀-кь в 4ьное р.). Актуальv║х зависит от а. ▓ы э3.3 Display.Sys и Printer.Sys 'знают' о Фовых &ах. Они читают ║е из ов ъ.CPI, LCD.CPI, 4201.CPI и 5202.CPI,  VЮю, Эуемую Pkении . См. Фонты Фовых &о $е этих ов. ■ A■Y. 0dH: Общий ┴ов ▀отрабатывает разнообразwи я. Гвс э3.2, Исоздавать ▓ы , работающие на уровне дорожек (ирq},  е/кь). э3.2+ Фдействия в ;е CL kяет "подYункцию": ─: CL= Фдействия 40H = Ьcы а 60H = ╣cы а 41H = Zдорожку логического а 61H =  дорожку логического а 42H = ирqть дорожку с верификацией 62H = Верифицирqть дорожку логического а DS:DX=> ╪gа ║х ▀ См.: gы ▀440dH о $е gов ╢каждого Фа действия. ╜: AX= Фhки ░CF лен DS:DX=> g║х Йсодержать Юю возврата. ■ A■Y. 0eH: ВыяснЬ, назГил ли ▓а логических одному физическому у. э3.2+ ─: BL= ID ╕а (0=ий, 1=A, и т.д.) ╜: AX= Фhки ░CF лен AL = 0 ░ровно o╕назГен у BL AL = (1=A, 2=B и т.д.) ░назГено  логических , AL -ID ▒╕а ■ A■Y. 0fH: СообщЬ▓у блоч{а ID ╕а ╢обработки. Хс физическим ом ассоциируется  логических, эвыдает: "Insert diskette for drive X:...". я Wвам сообщать э,  ╕с указанным ID уже лен, тем самым обходя сообще}. э3.2+ ─: BL= ID ╕а (0=ий, 1=A, и т.д.) ╜: AX= Фhки ░CF лен AL = 0 ░ровно oID назГен у BL AL = (1=A, 2=B и т.д.) ID выбран{╕а, Нй ╤Эqться в Sдующих nях в/в. ле: я должна ┴ываться `Лnей на логическом е. ИГе эЙвы╣сообще}.N─См.!: ▀Инф об р ▓ы  и э  !╕ ~; C3|ы2^ c'zB ь45H: Дублирqть lь а -- DUP┌ ─╥─╥;─│ ─ ║ AH ║ 45H└ ─╢ BX ║ существующий lь а┌ ─╫─╫;─│ ╜ ║ AX ║ новый lь а, дублирующий оригинал└ ─╢ ║ Фhки ░CF лен ╙─╨;─m: Создает дополнительvlь а, ссылающийся на тот же поток в/в,  и существующий lь. Любое продвиже}я  я/ки ╢од{lя действует на ▒дубликат - включая любые nи  я, ки ж^ещения я посредством и 42H LSEEK. Новый lь на2дует ограничения :а Открытия оригинала. я Эуется с одzглавzцелью: вы Йе закрыть lь, заставляя экать овые ╨а. "ой способ DUP/CLOSE - бы'ее, чем закрытие и повторное открытие а. э3.3 предлагает лучший метод - Fn 68H (Commit).P─См.!: т-jvв/в )й в/в и э  ╕ ~-z,?b6A #c(#zB# $ь46H: aназГЬlь -- FORCDUP┌ ─╥─╥;─│ ─ ║ AH ║ 46H└ ─╢ BX ║ целевой lь а (╡уже существqть) ║ CX ║ исходvlь а (╡уже существqть)┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╨─╨;─m: Заставляет lь а (т) ссылаться на другой ж о. lь в CX (источник) закрывается, ░открыт, а истановится дубликатом lя в BX (назя). Иными слqми, lи в CX и BX будут ссылаться на oи тот же физический жо. ╞обращения к у  lь в CX попадают в (жPходят из а) с lем в BX. Эуется ╢]ия Стандарт{в/в . Pмер:  Откроем текстовый ╢┬а (скажем, lь 05).  им BX=05, CX=01 и ┴овем Fn 46H. (lь 01 описывает предkенное "стандартное ╜ное о").  Теперь И┴вать ю 3eH Close и закрыть lь 05.  Наш текстовый ╤отныне получать весь ┬, создаваемый ╞ми Lами (им и порожденными)   любую ю 4ь{в/в э, "же Ъи Л┬ в lь а 01  ю э40H .  Хвы ╜ите в Є, предkенwlи анавливаются на обычwа (Д, 01 на "CON").P─См.!: т-jvв/в )й в/в и э  ~8╒ eB ь47H: ╣умалчиваемое pе э┌ ─╥─╥;─│ ─ ║ AH ║ 47H└ ─╢ DS:SI ║ ╪локаль{╨а ╢результирующ▒пути: 64 ╓а ║ DL ║ y╕а (0=ий, 1=A, и т.д.)┌ ─╫─╫;─│ ╜ ║ AX ║ Фhка ░CF лен└ ─╨─╨;─m: В ╨по ╪у DS:SI помещается в форме ∙K▒ умалчиваемого pя ╢╕а, указан{в DL. K╔ся в е: "K\pе",0. В`и не подставляется буква ╕а, а сзади не подставляется 4"\". Д, ░им является Пе pе, я вер~вам пую %у (DS:[SI] = 0).P─См.!: и овой 3ы и э  ~=L g(бB ь48H: РаспределЬfь (╣>fи)┌ ─╥─╥;─│ ─ ║ AH ║ 48H└ ─╢ BX ║ запрошенное количество fи в 16-╓овых eах┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╢ BX ║ >│zfи в eах (░была hка) ║ AX ║ 7v╪распределен{╘а (░~hок) ╙─╨;─m: Распределяет ╘fи длиzBX eов, возвращая 7v╪╘а в AX (╘Гинается с AX:0). ░=е неудачно, взводится Carry-, в AX ╔ся Фhки, а BX -максимальv> │z╢=я fи (в eах). kЬнаибольший │vкусок, общеPнято анавливать BX=0fH `┴овом. =е завершится с hкой, возвратив >максималь{╘а fи в BX.ле: ХLполучает е  ю 4bH ч, вся │Бfь уже распределена ему.P─См.!: и я fью ╘я fью и э  ~/ I g'бB ь49H: ОсвободЬраспределенv╘fи┌ ─╥─╥;─│ ─ ║ AH ║ 49H└ ─╢ ES ║ 7v╪(e) освобождаемого ╘а fи┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╨─╨;─m: Освобождает ╘fи, Гинающийся с ╪а ES:0. ╘становится │ным ╢других йов 3ы. Вообще говоря, вы ┤освобож╣лишь те ╘и fи, Не вы получж ю 48H РаспределЬfь. Родитель отвечает за освобожде}fи порожденuLов. Тем не менее, ни не препятствует вам освобож╣fь чужих Lов.P─См.!: и я fью ╘я fью и э   ~: L+ Э2"oGЭ g'бB ь4aH: Сжать жрасширЬ╘fи┌ ─╥─╥;─│ ─ ║ AH ║ 4aH└ ─╢ ES ║ 7распределен{╘а fи ║ BX ║ желаемый >╘а в 16-╓овых eах┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╢ BX ║ наибольший │v╘(░расшире}неудачно) ╙─╨;─m: Изменяет >существующ▒╘а fи. ХMа получает е, я 4bH чуже распределила ╘fи, Гвс ▐, Нй -всю │ную fь. освободЬfь ╢запуска порождаемых Lов, ╘fи, Гинающийся с ▐, необходимо сГала сжать.ле: я 31H (KEEP) и р27H (TSR) сжимают ╘по ╪у ▐.P─См.!: и я fью ╘я fью и э !╒и ~@иK!K3Э#╒и<0"# N3#N$&╕=&z '|D(W;*k +l"+m/╒ 0и1 й5ы8 ╣.C ╣ Gf*G{BG Hь4bH: ┐жмЬMу -- ч┌ ─╥─╥;─│ ─ ║ AH ║ 4bH└ ─╢ DS:DX ║ ╪%и ∙с да, содержащ▒Mу ║ ES:BX ║ ╪EPB (чParameter Block - ╘а cов ч) ║ AL ║ 0 = мЬи ┐ ║ AL ║ 3 = мЬMvоверлей┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╨─╨;─m: Предоставляет средства одzMе (родителю) ┴вать другую Mу (порожденную), которая по пю возвратит е родителю. DS:DX на %у ∙в форме: "d:\K\га",0. ░╕жKопущены, они подразумеваются по ю. ES:BX на ╘fи, подготовленvЪEPB ,  которого зависит от запрошенzXв AL.AL=0 ч: "Ъродительская Mа bоГально получает всю │ную fь в свое распоряже}, вы ┤освободЬчасть fи ей 4aH до ┴qч(AL=0). Обычwпы: 1. ┴овите ю 4aH с ES=7у ▐и BX=минимальному объему fи, требуемой вашей Mе (в eах). 2. Подготовьте %у ∙с д┴ываемого M{ а и ите DS:DX на bый 4%и. 3. Подготовьте ╘cов чсо ╞ми необходимыми полями. 4. Сохраните ие зя SS, SP, DS, ES и ыв ^енu, ╪уемых  ;CS (CS - единственБточка ╢ ссылок Sтого, Ъчвер~е родителю). 5. Выдайте ┴ов чс AL=0. 6. Восстановите локальwзя SS и SP. 7. Nерьте CF, узнать, не было ли hки Pч. 8. Восстановите DS, ES и локальную ы, ░необходимо. 9. Nерьте Ф╜а  ю 4dH WAIT (░надо). ╞открытые ы дублируются, " в┴ванБMа ЙЭqть Ъlи ов , "и )й в/в . :ы │а lей дублируются, но любые ╘ировки ов недействительны ╢порожден{Lа. См. ю 5cH . Sвозврата из ┴ванzMы ═ы р22H Terminate, р23H яЎи р24H Critical Error восстанавливаются в их предыдущие зя.AL=3 LOAD: Yункция Эуется ╢мки "оверлея". DS:DX на ∙га, а ES:BX на "LOAD"-версию ╘а cов ч. Главное зе Xв том,  она считывает нок EXE и ╛необходимые ^ещения 7ов, Ъ╢M.EXE.ля: я Эует Mу мки из Є, которая транзитна в э2.x (и, возИ, уже aкрыта Mой). В м случае возник~hка, ░эне найдет  Є. Вы ┤обеспечЬОктную %у єSPEC= в окружении `┴овом и. Вместо разбора собственuх(Ъ╢EPB), вы Йе найти удобным мЬи ┐вторичную копию а Є, Эуя опцию /C. Д, ┐ Mу FORMAT.є, ите DS:DX на ╪%и ∙: "\command.com",0 и ите EPB+2 на 7и /2дующей %и У: 12H," /c format a: /s/4",0dH "ой вторичvЯпретатор УЭует очень мало fи (около 4K). Вы Йе поискать в Окружении э%у єSPEC=, Ьточное местоположе}а Є.P─См.!: и я Lами Запуск и пе и э  NBN: Э f*{B ь4cH: оMу -- EXIT┌ ─╥─╥;─│ ─ ║ AH ║ 4cH└ ─╢ AL ║ Ф╜а┌ ─╫─╫;─│ ╜ ║ ~ ║ (неPменим)└ ─╨─╨;─m: ╔е от порожден{Lа ▒родителю, анавливая Ф╜а (▒ИопросЬей 4dH WAIT ). е `ается по ╪у пя в ▐завершающейся Mы. ═ы яЎи Critical Error восстанавливаются к старым ╪ам, сохраненным в родительском ▐.ле: зе ERRORLEVEL (Эуемое в guах э) И Эqть ╢Nерки Фа ╜а самой Sдней Mы.P─См.!: и я Lами Запуск и пе и э 5lFm12 f*{B ь4dH: ╣Ф╜а Mы -- WAIT┌ ─╥─╥;─│ ─ ║ AH ║ 4dH├ ─╫─╫;─│ ╜ ║ AL ║ Ф╜а Sдн▒завершивш▒ся Lа└ ─╢ AH ║ 0 = нормальное пе ║ ║ 1 = пе  яЎ р23H ║ ║ 2 = пе по критической hке а р24H ║ ║ 3 = пе  ю 31H KEEP ╙─╨;─m: ╔Ф╜а Sдн▒из завершившихся Lов. я ╔правильную Юю однажды ╢каждого завершивш▒ся Lа.P─См.!: и я Lами Запуск и пе и э !╒ а ~ AP  аE╖D╖.╒ # а#% а )2*Э 2P 6eB6 7ь4eH: Найти 1-й совпадающий ┌ ─╥─╥;─│ ─ ║ AH ║ 4fH└ ─╢ DS:DX ║ ╪%и ∙с да (допускаются ? и *) ║ CX ║ ╫а ╢сравнения┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╢ ы ║ заполнена ║ми (░не было hки) ╙─╨;─m: DS:DX на %у ∙в форме: "d:\K\га",0. ░╕и/жKопущены, они подразумеваются по ю. Обобщенw4ы * и ? допускаются в имени а и расширении. энаходит гbого а в pи, которое совпадает с за║м ди ╫ом, и помещает Еное ги другую Юю в ы, Ъпоказано |:0.в ы Длн .е в ы▀ ▀ D▀ ┌─ ─ ─ ─ ─┐ +0 15H │ 9ируется │ Эуется в 2дующих ┴qх 4fH Find Next ├───┼ ─ ┴ ─ ┴───┘+15H 1 │атр│ ╫а ╢Е{а ├───┴───┐+16H 2 │ ╟│ ╟создания/модификации в е filetime ├───┴───┤+18H 2 │ дата │ дата создания/модификации в е filetime ├───┴───┼─┐+1aH 4 │ младш старш │ >а в ╓ах в е DWORD ├E───┐+1eH 0dH │ │ 13-╓овое ∙г: "filename.ext",0 └───┴ ─ ┴ ─ ┴───┴───┘ (не дополнено пробелами; напр. "DOIT.BAT",0) 2cH требуемый >╨аP▀ля: ╫а rЭуется во "включающем" поиске. ░вас Яесуют Ъы, "и pя, ите ╒╫а 4 (т.е. attr | 10H). См. ╫а ╢полzЮи.ТипичБRьность, Эуемая ╢поиска ╞х подходящих ов:  Эуйте ┴ов 1aH, Ьына локальv╨ (жЭуйте умалчиваемую ыв ▐по 0ению 80H)  . CX=╫, DS:DX => ∙╕, K, прототип имени  ┴овите ю 4eH (Найти 1-й)  ░CF hку, вы закончж(~совпадений)  . DS:DX => ы(жна ║е, Не вы скопирqли из ы S┴qи 4eH)  повторять обработать га и ║е по ╪у DS:DX ┴вать ю 4fH (Найти 2дующий) пока Carry-не покажет,  совпадений ╥~P─См.!: и овой 3ы и э  :O ~  O* 2 O0 аGO eB ь4fH: Найти 2дующий совпадающий ┌ ─╥─╥;─│ ─ ║ AH ║ 4fH└ ─╢ DS:DX ║ ╪║х, возвращенuпредыдущей 4eH Найти 1-й ┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╢ ы ║ заполнена ║ми ╙─╨;─m: DS:DX на 2bH-╓овый ╨с Юей, возвращенz ей 4eH Найти 1-й (либо ы, либо ╨, скопирqнvиз ы). Эуйте эту ю S┴q4eH . 2дующее га, совпадающее по обобщенному имени и ╫у а , копируется в ╨по ╪у DS:DX вместе с другой Юей (см. Fn 4eH о $е овой Юи в ╨е, заполняемом э).ле: cDS:DX добавлен в э3.0.P─См.!: и овой 3ы и э  / aB ь54H: ╣_ь верификации э┌ ─╥─╥;─│ ─ ║ AH ║ 54H├ ─╫─╫;─│ ╜ ║ AL ║ 0 ░верификация выключена (OFF)└ ─╢ ║ 1 ░верификация включена (ON) ╙─╨;─m: ╔ий (верификации ки э. ░в AL ╔ся 1, то эсчитывает обратно Ы6, кываемый на ╕, NерЬправильность ки. я э2eH WЬ/изменЬ:верификации.P─См.!: и 3zЮи и э "╒ ~ eB ь56H: aименqть/^естЬ┌ ─╥─╥;─│ ─ ║ AH ║ 56H└ ─╢ DS:DX ║ ╪старого ∙имени (K/гсуществующ▒а) ║ ES:DI ║ ╪нового ∙имени (новые K/г)┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╨─╨;─m: DS:DX и ES:DI указывают на %и ∙: "d:\K\га",0. Старое гDS:DX должно существqть и не Йсодержать обобщенu4ов. ╕и Kнеобязательны (░опущены, они Pнимаются по ю). Новое гES:DI должно описывать НЕ существующий . ░ указан ╕, он ╡╧тем же,  и в старом имени. ░╕жKопущены, Pнимаются ие я. ░старое и новое гсодержат разwпути (явно жPнятые по ю), то pя ╢а ПЕРЕМЕЩАЕТСЯ в pе, указанное в новом имени.ле: ░ID ╕а в старом имени отличается от ▒╕а э, не забывайте указывать "ой же ID ╕а в новом имени.P─См.!: и овой 3ы и э ╕@ ╖ ~@ =H > eB ь57H: Ь/опросЬдату/╟а┌ ─╥─╥;─│ ─ ║ AH ║ 57H└ ─╢ AL ║ 0 Vдату/╟а ║ ║ 1 Ьдату/╟а ║ BX ║ lь а (т) ║ CX ║ (░AL=1) нqя отметка ╚в е ╟а ║ DX ║ (░AL=1) нqя отметка даты в е дата а┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╢ CX ║ отметка ╚а в е ╟/дата а ║ DX ║ отметка даты а в е ╟/дата а ╙─╨;─m: BX ╡содержать lь открытого а (см. 3cH ж3dH ). Укажите Yункцию, 0 ж1, в ;е AL. DX и CX задаются в е fи; Д, младшие 8 ╒даты находятся в DH.P─См.!: и овой 3ы и э  ы  ~0 ы2 m% j~ a)~B ь59H: ╣<ую Юю об hке┌ ─╥─╥;─│ ─ ║ AH ║ 59H э3.0+└ ─╢ BX ║ 0H (y╠: 0H ╢э3.0, 3.1 и 3.2)┌ ─╫─╫;─│ ╜ ║ AX ║ <ый Фhки (0, ░не было hки)└ ─╢ BH ║ класс hки ║ BL ║ предлагаемое действие ║ CH ║ сфера (где произошла hка) ╙─╨;─m: Эуйте эту ю, уточнЬ,  предPнять S сбоя и эпо hке (э3.0+ ). ┴ывайте ее:  в обработчике критических hок р24H  SЛи р21H , возвратившей Carry-  S┴qх-и, возвратившей AL=0ф См. Фы hок э на предмет пол{списка Фов hок, их классов, предлагаемых действий и сфер возникновения, Не могут ╧возвращены ей.╠: я отсутствует в версиях до э3.00. В э2.x, Х CF на hку, Эуйте логику вашей Mы, отреагирqть на hку. В э3.0+, Хя дает CF=1, рекомендуем вам игнорирqть Фhки, возвращенvв AX, ┴вать эту ю и ┐действие, предложенное в BL.P─См.!: и 3zЮи Фы hок э и э  ы!╒ а ~╕5B! ы #cB# $ь5aH: ,уникальvвременv┌ ─╥─╥;─│ ─ ║ AH ║ 5aH э3.0+└ ─╢ DS:DX ║ ╪%и ∙с ╕ом и путем (заканчивается \) ║ CX ║ ╫а┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╢ ║ lь а (░~hки) ║ DS:DX ║ (не изменяется) полное ∙-гнового а ╙─╨;─m: Открывает (создает) с уникальным дв Ще, заданном %ой ∙, на которую DS:DX. Є└ эту ю, Хсоздает временw"канальw" ы, Эуемые P]ии ╬а-┬а. mпути должно ╧готово к Pсоединению в ▒Т имени а. Вы ┤обеспечЬминимум 12 ╓в конце %и. Сама %а должна ╧заполнена в одzиз форм: "d:\K\",0 (указаны ╕и K) ИЛИ "d:",0 (умалчиваемое pе ╕а) ИЛИ "d:\",0 (Пе pе ╕а) ИЛИ "",0 (умалчиваемые ╕и pе) Sвозврата %а DS:DX ╤дополнена да.ля: эсоздает га из шестнадцатеричuцифр, получаемых из их даты и ╚. ░га уже существует, э продолжает создавать новые имена, пока не получит уникальное г. Создаваемые "им способом ы - фактически НЕ ВРЕМЕННЫЕ, и их 2дует удалять посредством и э41H , Хони не нужны.╠: │на, Гвс э3.0P─См.!: т-jvв/в и э  ы!╒ а ~╕. =>| cB ь5bH: ,новый ┌ ─╥─╥;─│ ─ ║ AH ║ 5bH э3.0+└ ─╢ DS:DX ║ ╪%и ∙с да ║ CX ║ ╫а┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╢ ║ lь а ░hок ~ ╙─╨;─m: DS:DX на %у ∙в форме: "d:\K\га",0. ░╕и/жKопущены, они Pнимаются по ю. ┴ов идентичен и э3cH CREATE, с тем исключе}м,  он вер~hку, ░с за║м дуже существует. открывается ╢ я/ки в совместимом :е │аP─См.!: т-jvв/в и э ы╕ ~" ~|m*%F2%G,& |+(L -l*-m!3ы 6e)6>B6 7ь5cH: ╘ирqть/раз╘ирqть │к у┌ ─╥─╥;─│ ─ ║ AH ║ 5cH э3.0+ (и должна ╧загружена SHARE)└ ─╢ AL ║ Yункция: 0 = за╘ирqть tь а ║ ║ 1 = раз╘ирqть ранее захваченную tь ║ BX ║ lь а (т) ║ CX:DX ║ /((CX * 65536) + DX) от Гала а ║ SI:DI ║ ╖╘ируемой tи ((SI * 65536) + DI) ╓┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╨─╨;─m: ╘ирует жосвобождает │к участку а, ╪уемого lем в BX. tь а, с логическим /м CX:DX и длиzSI:DI, ╘ируется (захватывается) жраз╘ируется (освобождается). /и ╖обязательны. @е}ов ДОЛЖНО ╧активизирqно (Уой SHARE), иГе я вер~Фhки "Аyи." ╘ировка действует на nи  я, ки и открытия со стороны порожден{жконкурирующ▒Lа. Pпопытке "ого │а (и :е │а , kенном POPEN Ъ ":@ения", запрещающий "ой │), эотвергает nю ┴овом р24H (критическая hка) Sтрех попыток. эPм выдает сообще}"Abort, Retry, Ignore". Рекомендуемое действие - НЕ пытаться  и ожи╣Фа hки. Лучше попытайтесь за╘ирqть tь и действуйте в +ии с Фом возврата. Wизбежать довольно неойчивого *я э, связан{с выполне}м р24H. ╘ировка за концом а не является hкой. Вы Йе захва- тЬвесь , задав CX=0, DX=0, SI=0fH, DI=0fH и AL=0. Pосвобождении, /и ╖участка ┤точно совпа╣ со /м и длиzзахвачен{участка.ля: Дублирq}lя  45H ж46H дублирует и ╘ировки. Даже ░во ╟OPEN выбран :│а Inherit, механизм ╘ировки не даст ниЪих Pвилегий │а порожденным Lам, соз║м ей 4bH ч(они трактуются Ъ отдельw). Важно, ╞╘ировки а были сняты до пя про- граммы. ░вы Эуете ╘ировку, особо от2живайте ┴овы р23H (╜яЎ) и р24H (по критической hке), снять ╘ировки до действитель{пя Mы. Освобождайте ╘ировки ЪИскорее. ┼╘ируйте, обрабатывайте и освобождайте ╘ировку одznей.╠: │на, Гвс э3.0P─См.!: и овой 3ы 3dH (OPEN) и э  ы ~!ы3╒ ~ ~!Y, ~..Y 2YB2 3ь5eH: Разwсетевые и┌ ─╥─╥;─│ ─ ║ AH ║ 5eH э3.1+└ ─╢ AL ║ Y.: 0=╣гмашины (узла) в сети ║ ║ 2=Ьстартовую %у сетевого Oа ║ ║ 3=извлечь стартовую %у сетевого Oа ║ прочие║ (зависят от X)┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╢ прочие║ (зависят от X) ╙─╨;─m: Эти и │ны Pленzсетевой Mе IBM (PC Network Program).╠: │ны, Гвс э3.1 ■ A■Y. 00H: Извлекает гмашины (узла), Ъоно известно в сети. ─: DS:DX=> ╨Uя ╢∙сетевого имени ╜: DS:DX=> ╨, содержащий сетевое г CH= 0=гне kено; иГе=гkено CL= yимени NETў(░CH ненулевой) AX= Фhки ░CF лен Замеч: Сетевое г- 15-4ов (дополнено пробелами), ∙ ■ A■Y. 02H: Задает на'оечную %у, посылаемую на OЫраз, Хмашина выдает результаты на сетевой O. ─: DS:SI=> ╨, содержащий на'оечную %у (до 64 ╓) CX= ╖на'оечz%и BX= бв списке назй, отвечающий Oу ╜: AX= Фhки ░CF лен Замеч: См. Fn 5fH Y. 02H о методе kения ба Oа ■ A■Y. 03H: Извлекает на'оечную %у Oа, заданную ранее посредством ь5eH Y. 02H. ─: DS:DI=> 64-╓овый ╨Uя ╢результата BX= бOа в списке назй ╜: ES:DI=> ╨, заполненvна'оечz%ой CX= ╖на'оечz%и AX= Фhки ░CF лен Замеч: Поскольку бв списке назй ЙизменЬся в Лмомент, Эуйте 5fH Y. 02H, V бнепосредственно `┴овом и.P─См.!: 5fH ]ие в сети и э  ы ~!ы)╒ ~0#У) ~9 ~ EXBE Fь5fH: ]ие в сети┌ ─╥─╥;─│ ─ ║ AH ║ 5fH э3.1+└ ─╢ AL ║ Y.: 2=Vсписка ]ий  ║ ║ 3=aназГЬсетевое о ║ ║ 4=отменЬ]ие сетевого а ║ прочие║ (зависят от X)┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╢ прочие║ (зависят от X) ╙─╨;─m: Эти и │ны Pленzсетевой Mе IBM (PC Network Program).╠: │ны, Гвс э3.1 ■ A■Y. 02H: Извлекает из списка ]ий сетевых . ─: DS:DI=> 128-╓овое ∙локальное гр. ("LPT1",0) ES:DI=> 128-╓овый ╨с ∙сетевым д BX= бв списке назй ╜: DS:DI=> ∙локальное га (напр., "LPT1",0) ES:DI=> ∙сетевое г BL= тип а: 3=O; 04= BH= (р: ╒0=1 -неверное р.; 0=верное CX= сохраненvc(PNETў, ┼0) AX= Фhки ░CF лен DX,BP (разрушены) ле: rэту ю ┴ывают с BX=0, иповторяют ┴овы, увеличивая зе BX, пока эне вер~ hку 12H (╥~ов). ■ A■Y. 03H: ┴ов kяет имена pй ╢сети и aнаправляет │на сетевые Oы. ле: │к Oу aназГается на уровне ▄-ўр17H . ─: DS:SI=> ∙гисход{а ES:DI=> ∙назе (сетевой Kс паролем) BL= тип а: 03=O; 04= CX= c╢┴ывающ▒(давайте 0 ╢NETў) ╜: AX= Фhки ░CF лен Замеч: ░BL=03, то источник задает ∙-гOа (Д, "LPT1",0). Назе Фируется в форме: [\\computername\{shortname|printdevice}],0,[password],0. ░пароль Гинается с 00, считается,  пароля ~. ░BL=04, то источник задает ∙-г╕а (Д, "F:",0), а назе - ∙-гпути. S┴q и, локальwобращения к му ╕у aназГаются на выбранwгкомпьютера и K. ■ A■Y. 04H: ОтменЬсетевое ]ие ╢указан{а. ─: DS:SI=> ∙-га жID ╕а ╜: AX= Фhки ░CF лен ле: ░DS:SI на PRN, LPT1, LPT2 жLPT3, и о связано с сетью, то сетевое обслужива} а прекращается. ░DS:SI на ID ╕а и пароль (Д, "F:",0,"mypswrd",0), то ]ие ╕а прекращается, и ID ╕а восстанавливает свое предыдущее зе.P─См.!: 5eH Разwсетевые и и э ы%Э ╣ Э! ы Э) ╣B ь62H: ╣╪▐┌ ─╥─╥;─│ ─ ║ AH ║ 62H э3.0+├ ─╫─╫;─│ ╜ ║ BX ║ 7v╪▐выполняющейся Mы└ ─╨─╨;─m: я ╔в BX ╪▐ей Mы. Эуется, V╪cов Уz%и, ╪окружения эи другой полезzЮи, содержащейся в ▐.╠: │на, Гвс э3.0P─См.!: ▐(Program Segment Prefix) Окруже}э и э ы г╩ ~ г╩ы89& г'╩9/в n9nв"n╩4n гBn oь65H: ╣<ую Юю 'аны┌ ─╥─╥;─│ ─ ║ AH ║ 65H э3.3└ ─╢ AL ║ ПодФн: 1 = ╣<ую инф. 'аны э3.3 ║ ║ 2 = ╣#у aвода в прописw ║ ║ 4 = то же ╢4ов, допимых в именах ов ║ ║ 6 = ╣сопоставляющую Rьность ║ DX ║ Ф'аны ║ BX ║ Фqя &а (0fH = Сь) ║ CX ║ >╨а возврата (╡╧минимум 5) ║ ES:DI ║ ╪╨а возврата┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╢ ES:DI ║ ╪возвращенzЮи ╙─╨;─m: я ╔различную национальную Юю. Эуется ╢того, Vдаты, 4 валюты и другие ║е, нужw╢┬а и сортировки Юи в 'анах, отличuот добрых старых С.Ш.А. ░Ф'аны и Фqя &а неверны жне +уют друг другу, ╔ся hка. ░╖╨а возврата (CX) >= 5, но мала ╢полu║х результата, то ║е усекаются, и не считается hкой.╠: Введена в э3.3 . aкрывает ю Fn 38H ╢3, Не ┤Эqть э3.3+ (Д, IBM PS/2). ■ A■ПодФн 01H: Fetches a variety of country information. Set CX >= 29H. The information is stored starting at ES:DI on entry. 0. ╖.е ▀ ▀ 5▀ +0 1 ФЮи (то же,  в AL P─е) +1 2 >Юи +3 2 Ф'аны +5 2 Фqя &а +7 2 даты ─┐ +9 5 4валюты │ +0eH 2 ?ь тысяч │ +10H 2 десятичv?ь │ +12H 2 ?ь даты ╞═ Эти поля совпадают +14H 2 ?ь ╚ │ с +ующими +16H 1 флажки а валюты │ полями (в э3.x) +17H 1 десятичuцифр в валюте │ ╘а инф. 'аны +18H 1 ╚ │ +19H 4 "FAR" ╪┴qCasemap │ +1dH 2 ?ь в списке ║х │ +1fH 0aH нули ─┘ +29H ╖╨а возврата ■ A■ПодФн 02H: Извлекает ╪#ы, Эуемой ╢kения пропис{эквивалента 'очzбуквы. Задавайте CX=5. 'очwбуквы с Фами меньше ·128 aводятся в прописwвычита}м 32; однако ╢Фов старше 128 неPменимо; необходим справочник. Д, прописzэквивалент Фа ·135 есть 128; ╢129 - 154; ╢130 - 69. 0. ╖.е ▀ ▀ 5▀ +0 1 ФЮи (то же,  в AL P─е) +1 4 DWORD-ь на 130-╓овую #у: 0. ╖.е ▀ ▀ )▀ +0 2 ╖#ы +2 80H #а aвода в прописwбуквы Pмер: cmp al,80H ;нужна aФировка? jb done ;~, пропЬ ... (подготовка к Fn 65H) ... int 21H ;извлечь Юю lds bx,es:[di+1] ;DS:BX = ╪#ы add bx,2 ;╪qть bый 4 sub al,80H ;вычислЬ/в #е xlat ;Vпрописzэквивалент done: ■ A■ПодФн 03H: (за9ирqно) ■ A■ПодФн 04H: Аналогично ПодФн 02H, но Эуется ╢aФировки лишь тех 4ов, Не Эуются в именах ов. ■ A■ПодФн 05H: (за9ирqно) ■ A■ПодФн 06H: ╔╪#ы (Ъ╢ПодФн 02H), Эуемой ╢ kения Фа любого 4а (·0-255) в сопоставляющей Rьности (т.е. Rьности сортировки). 0. ╖.е ▀ ▀ 5▀ +0 1 ФЮи (то же,  в AL P─е) +1 4 DWORD-ь на 258-╓овую #у: 0. ╖.е ▀ ▀ )▀ +0 2 ╖#ы +2 100H #а Фов aФировкиP─См.!: Fn 38H Информ. 'аны Фqя &а Ф'аны и э  ы<╩╩ ~7[B9ы  y[9 ╩.вA ь66H: ╣/Ьглобальную Фовую &у┌ ─╥─╥;─│ ─ ║ AH ║ 66H э3.3 (должна ╧загружена NLSFUNC)└ ─╢ AL ║ ПодФн: 1 = йЬую глобальную Фовую &у ║ ║ 2 = Ьактивную Фовую &у ║ BX ║ Фqя &а (PAL=2)┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╢ BX ║ ая активБФqя &а ║ DX ║ 3БФqя &а (мая Pмке) ╙─╨;─m: я выбирает новую Фовую &у жполучает зе ей активzФовой &ы (&). Mа эNLSFUNC должна ╧загружена до ┴q. я Эуется в сочетании с Fn 65H жFn 38H╠: Введена вbые в э3.3ля: анавливая новую активную Фовую &у, эчитает ║е из а COUNTRY.█. hка ╔ся в случае любого сбоя Pобработке а, ж░NLSFUNC не загружена. 3БФqя &а выбирается Pмке   ё.P─См. !: Fns 65H 38H Фqя &а ╘инф. 'аны и э ы ~>K ы y c) yB  ь67H: Ь lей ов┌ ─╥─╥;─│ ─ ║ AH ║ 67H э3.3└ ─╢ BX ║ максимальное  lей (до fH)┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╨─╨;─m: я т максимальное  lей ов, Не могут ╧открыты одновременно. ░зе BX меньше 20, то Pнимается 20. ░зе BX меньше ▒максимума (вы хотите сократЬ  lей), и в ║й момент открыто ╙чем BX ов, то измене}╤иметь место, Х открытых ов не ╤превышать мого максимума. ░BX ╥▒максимума (вы хотите увеличЬ  lей), то эдолжна иметь │ную fь,  распределЬее под новые lи. я э4aH (SetBlock) WосвободЬfь, она стала │zэ.╠: Введена, Гвс э3.3ля: Директива ёFILES= WЬмаксимально 255 lей. ░выбранное зе слишком мало, неНе Pложения баз ║х не смогут выполняться. я WPложению увеличЬ │u lей "на лету", без внешн▒вмешательства.P─См. !: т-jvв/в ё и э ы ╕ ~ ыFF yA ь68H: о┌ ─╥─╥;─│ ─ ║ AH ║ 68H э3.3└ ─╢ BX ║ lь завершаемого а┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки ░CF лен└ ─╨─╨;─m: я заставляет эсбросЬ(кать на ╕) ╨а основzfи ╢указан{lя а. эrизбегает обмена с ╕ами, кывая ║е в ╨а в основzfи до заполнения 6а жзакрытия а.  я заставляет энемедленно кать ║е на ╕. ускоряет nи с базами ║х, позволяя Pложению избежать неэффектив{закрытия и повтор{открытия ов.╠: Введена, Гвс э3.3 . В версиях эот 2.0 до 3.2 И Эqть Fn 45H , ,и изакрыть дубликат.P─См. !: Fn 45H (DUP) ё(BUFFERS=) и э  i j  n o p q r k l m #}7`Qя э р20H оMу р21H 5э р25H/26H Абсолютw е/кь ╕а р27H ося, но остаться 8м р28H Квант ╚э(НЕТ В ДОКУМЕНТАЦИИ) р2eH ┐Уу э(НЕТ В ДОКУМЕНТАЦИИ) р2fH Мультиплексное Qе (спулинг [и) ═ ╪wи (не Эуются ЪQя) ═ р22H ╪пя р23H ╪Control-Ў р24H ╪обработчика критических hокN─ и ў О ях э и эпо группам  abcd e f ghs}1 A и эпо группам 3БЮя 4ьv╬-┬ т-jvв/в Традиционwх-nи и овой 3ы е Lами е fью Смешанwи ▓ы N─ О ях э! и э и ў 1%07+%Z8Э-%6%NH%TE Q% 8 4% 5 7  ! 3S%9OP%[%\0`B и 3zЮи 30H y╠э 2fH ╪ей ы 2aH ая 3Бдата 62H ╪▒▐ 2cH ее 3ное ╟ 35H ее зе ═а Qя 19H ий умалчиваемый ╕ 4dH Ф╜а Lа 47H ее pе 59H <ая Юя об hке 44H ▀: (а/а 54H :верификации ╕а 37H 4-_ь 33H яЎ(Nерки 34H ╪(а реентерабельности э 36H 1bH 1cH >╕а и  │u╓ 32H сборБЮя о ╕е 57H дата/╟создания/модификации а% 38H Юя, зависящая от 'аны 4eH 4fH поиск ов 65H <ая инф. 'аны (э3.3) 11H 12H поиск ов (х) 66H ╣/глоб. Фовую '. (э3.3)N─0 Группы й и э ;@  ;A;A   ; @  ; @ ;A ;ArТ Й0`B и 4ь{╬а-┬а 01H ╬с Шы #. 3fH (BX=0) 08H ╬с Шы без эха 07H нефильтрующий ╬с Шы без эха 06H Сьv╬и ┬ 02H вы╣o4". 40H (BX=1 жBX=2) 09H вы╣%у 4ов . 40H (BX=1 жBX=2) 0bH ╣(╬а (и обработать ждущий яЎ) 0cH очистЬ╨Шы и ж╣╬а 0aH ╨изqнv╬с Шы (%и)  . 3fH (BX=0) 03H AUX (RьvT) ╬. 3fH (BX=3) 04H AUX (RьvT) ┬. 40H (BX=3) 05H PRN (O) ┬!. 40H (BX=4) р2fH Мультиплексwи (спулинг [и)N─ р16H р10H Группы й и э "d=(V>(U?B] C @ A ^EFG d╕0`B т-jv╬-┬Эти и предпочтительнее традиционuовых х-nй , ░вам не поддерживать совместимость с э╠1.10. 3cH CREATE , 5bH ,новый  3dH OPEN i 5aH ,уникальv 3eH CLOSE Закрыть  41H DELETE УдалЬ 67H Ь(увеличЬ)  lей ов (э3.3) 42H LSEEK Ьь  я/ки (Иузнать >а) 3fH READ  из а/а 40H WRITE Zв /о 68H єMIT кать ╨а а -- э3.3 44H ▀(ИЭqть ╢Nерки на Та) 45H DUP Дублирqть lь а 46H REDIRECT aназГЬlь аN─ х-nи lь а Группы й и э 'c&*&+  " (%#)Я c?`Традиционvовый ╬-┬ хЭти и работают на умалчиваемом (ем) pи э.В большинстве случаев предпочтительнее т-jwи. 16H , 29H разобрать га в х- 0fH i 11H 12H искать в ем pи 10H закрыть  13H удалЬ 14H  Rьv 15H ZRьv 21H  кь а произволь{│а 27H  кей а произволь{│а 24H Ь╪произвольzки в е 22H Zкь в произволь{│а 28H Zки в произволь{│а (жизменЬ>)N─ ╘я ом (х) т-jvв/в Группы й :;<)H)RSC$ )' C D W ^OP*0`B и овой 3ы 39H MKDIR: ,Щ 3aH RMDIR: удалЬЩ 3bH CHDIR: . умалчиваемый Щ 0eH Ьий ╕ 47H Vумалчиваемый Щ 19H опросЬий ╕ 56H 17H RENAME aименqть  57H TIME/DATE Ь/опросЬдату/╟а 42H 23H SIZE йЬ>а 28H За╣>а (я 42H ЙувеличЬ>а) 43H CHMOD: изменЬ/опросЬАТРИБУТ а 5cH ╘ирqть/освободЬ│к у 68H кать овые ╨а на ╕ 4eH 4fH SEARCH искать ы с за║м ∙д 11H 12H искать в ем pи  х 29H разобрать текстовое га в хN─0 Группы й и э L'Z2 o i M N l m{#Эй0`B и я Lами 4bH ч: ┐порожденvL 26H ,префикс M{7а (▐) 62H V╪▐▒Lа 31H и р27H ося, но остаться 8м 00H и р20H традиционvTERMINATE: пе Mы 4cH TERMINATE: ося, `ав Ф╜а родительскому Lу 4dH VФ╜а завершивш▒ся Lа р23H пе  яЎ р24H пе  Обработчик критических hок Запуск и пе M Префикс M{7а (▐) $а нка а EXEN─0 Группы й и э  IJK{ б ЭН0`B и я fью 48H ALLOCATE РаспределЬ╘fи (жkЬнаибольший │v) 49H FREE ОсвободЬраспределенv╘fи 4aH SETBLOCK: сжать жрасширЬ╘fи Запуск и пе описывает =е fи Pзапуске Mы MCB описывает $у ╘а я fью э(НЕТ В ДОКУМЕНТАЦИИ) ▐поля MemTop и MemAvail имеют отноше}к данzтеме р12H ╔общую fь 3ыN─0 Группы й и э )W&)X)Y)^*,. S / 89[\E#s0`B Смешанwи э 1aH Ь╪ы 5cH ╘ировка/освобожде}│а 25H Ь═Qя 5eH различwсетевые и 0eH Ьий ╕э 5fH ]ие сетевых  0dH сбросЬ╕(кать ╨а) 68H кать овые ╨а 29H разобрать текст в га в х-е 2bH Ь3ную ДАТУ 2dH новЬ3ное ВРЕМЯ 57H йЬ╟/дату а 2eH Ь(верификации 37H SWITCHAR: Ь'4-_ь' У 38H Ьую 'ану 65H <ая Юя 'аны 66H глобальБФqя &а 44H ▀: канал взаимодействия с ▓ом аN─0 Группы й и э 3k<lEm0 Э$ M-B р20H: оMу Qе Эуется ╢╜а из Mы и возврата я родительскому Lу (rЯпретатору Уэ- Є). Оно восстанавливает зя управляющих ═ов р22H р23H р24H Оно !сбрасывает ╞овые ╨а (░╖а изменилась, то ╡╧предварительно закрыт). ╞╘ировки ов и кей, ░есть, ┤╧освобождены.Важно: ;CS ╡содержать зе ▐завершающ▒ся Lа. ░ваш CS не равен ▐, вы Йе вы╣ин'укцию JMP жRET на ▐:0. Рекомендуется Эqть ю 4cH Terminate, избежать трудностей, связанuс неравенством CS и ▐. Она W!за╣Ф╜а. Mы є-а rвыполняются PCS=▐, " могут выдавать р20H в Лмомент. EXE-Mы могут выдавать FAR JMP жFAR RET, `ать е на ▐:0, где -ся ин'укция р20H.N─- и ▄-ў и э    ` } i n n o r-B р21H: 5э Qе служит главным ─ом большинства й э. Mа, запрашивающая 5э, должна подготовЬвсю необходимую Юю в ;ах и управляющих ╘ах, указать в ;е AH y желаемой и эи и┴вать Qе р21H.См.!: и э и эпо группам О ях э2дующие и ж═ы эНЕ ┴ываются  Qе р21H: р20H оMу р25H Абсолютное  е ╕а р26H АбсолютБкь на ╕ р27H ося, но остаться 8м р2fH Мультиплексное Qе (спулинг [и)N─- и ▄-ў и э  iMo 2- m( Э'L{-B р22H: ╪пя ╪в м ═е (0:0088) -╪, Нй получит е, Хая Mа завершится по одzиз 2дующих й: р20H (традиционv╜в э) ь00H ь4cH (EXIT) р27H (TSR: ося, но остаться 8м) ь31H (KEEP) эЭует ═Pснятии  р24H (критическая hка). ╪в м ═е копируется в поле ▐Terminate Address ями э 26H (,▐) и 4bH (ч). Не выдавайте р22H и не ┴ывайте ╪непосредственно.N─ Запуск и пе M и ▄-ў и э  ,Э'M2 4? E &,*-{--B- .р23H: ╪╜а по яЎ ╪в м ═е (0:008c) - ╪, по которому `ается е, Хэраспознает,  Uь нажал яЎ. ╪по ═у р23H копируется в поле ▐яЎAddress ями 26H (,▐) и 4cH (ч). Исходное зе ╪а обработчика яЎвосстанавливается из ▐Pпи Mы. "им образом, по пи порожден{Lа ╤восстановлен ╪обработчика яЎиз родительского Lа.┌─┐│ Распознава}│ э└р23H, Храспознает,  нажата пара└─┘ яЎ. Уровень чувствительности эк яЎЙ ╧Nерен жлен посредством и 33H: PЎ=ON эраспознает яЎ┼, кроме й 06H и 07H . ░Ў=OFF, эраспознает яЎлишь во ╟nй ╬а-┬а с Сью, Oом и Rьными Tами.┌ ─┐│ Обработка │ ОбычБ3Бобработка яЎ└немедленное└ ─┘ снятие Mы. aхватЬобработку яЎи `ать ее вашей Mе, воспользуйтесь 2дующими советами: ┴овите ю 25H , Ь═р23H на ваш обработчик. P─е в ваш обработчик яЎ╞;ы сохраняют те зя, Не они имели P─е в ю э, распознавшую яЎ. ░вы хотите игнорирqть яЎ, просто выдайте IRET. ░вы хотите  -нибудь сделать (скажем, прекратЬповторе}цикла), сохраните ╞;ы `вашим действием и восстановите Sдействия. ╜ите  IRET. ~ограничений ╢ваш▒обработчика - И Эqть ╞и э. Однако, ░обработчик яЎсам ╛4ьvв/в, а Uь вновь нажмет яЎв  ╟, то эката'офически сбивается. ░вы хотите снять L(выйти в родительский L), ите CF и выдайте FAR RET. заставляет э┐обычную процедуру ╜а в порождающий L. Самый легкий способ убедЬся,  Lраспознает нажатие яЎ- ╟от ╚┴ывать ю э0bH .N─ Запуск и пе M и ▄-ў и э Э'0L к@xEы#TF#1<%T,,l /ы 7 ~A@j=N1:P nR~R{BR Sр24H: Обработчик критических hок ═(0:0090) хранит ╪, получающий е, Х▓ а эобнаруживает критическую hку. ╪по му ═у копируется в ▐ями 26H (,▐) и 4bH (ч). P╜е в порождающий L, родительские зя восстанавливаются в ═е р24H из ▒▐. Нормальvобработчик р24H - Ф, Нй выдает сообще}: Abort, Retry, Ignore? _ которое вы видите Pн▒товности ╕еты жOа. Наи╙сложwMы предоставляют собственvобработчик критических hок, не сообще}эне Tило дизайн а.┌─┐│ ─ │ P─е в обработчик р24H ;ы содержат 2дующие ║е:└─┘ BP:SI => нок а , позволяющий kЬсбойное о DI = ╒ы 0-7 содержат Фhки (╒ы 8-15 не kены) AL = ░в AH ╒7=0, то в AL y╕а (0=A, 1=B, и т.д.) AH = Юя об hке: B ║ │0J │ ║ ле: ░╒7=1, ╒ы 0-6 не kены ╙╥┴─┴D┴─┴─┴╥╜ ╒ ║ ║ H╦╝ ╚═ 0: тип nи: 0= е, 1=кь ║ ║ ║ ║ ╚═ 1-2: задействqнБtь ╕а: ║ ║ ║ ║ 00=3wы, 01=#а ц ║ ║ ║ ║ 10=pе, 11=tь ║х ║ H═ 3: 1=FAIL-╜разрешен ─┐ ║ ║ ╚ ═ 4: 1=RETRY-╜разрешен ╞═ э3.x ║ ╚ ═ 5: 1=IGNORE-╜разрешен ───┘ ╚═ 7: тип а: 0=╕, 1=прочие Вы Йе обработать hку, йив действие Uя (скажем, включЬ OжвставЬ╕ету). и эвыше 0cH не 2дует Эqть (исключая ю 59H ; не пытайтесь даже Vверсию э 30h ). Вы Йе Vдополнительную Юю  ю 59H и/ж ╘нка а, ╪уемый  BP:SI.┌─┐│ ╜│ Sобработки hки вы Йе мЬв ;AL Фдействия└─┘ и вернуться в э, указав одно из 2дующих действий: AL=0: игнорирqть hку AL=1: повторЬnю AL=2: снять. о ╪р23H (ЪPяЎ) AL=3: вернуться в Pложе}, индицируя сбившуюся ю э э3.x Nерьте AH P─е, kЬдопимые действия Опция AL=3 кажется идеальz. Д, ░nя "i" ┴вала hку из-за отсутствия ╕а в е, вы Йе предоставЬвашему Pложению самому обработать эту ситуацию. Однако опция еи свои недостатки:  Опция AL=3 НЕДОСТУПНА в версиях эмладше 3.0  э┼╔Фhки 53H, Нй не очень инивен┌─┐│ Стек │ P─е в обработчик р24H, стек е*е, описанное |:└─┘ IP ╪╢возврата CS в э IRET и AX,BX,CX,DX,SI,DI,BP,DS,ES ;ы PкладzMы `р21H IP ╪╢возврата CS непосредственно в Pложе} и ;ов Pложения Эту Юю ИЭqть, kЬсбившуюся ю ( AH в стеке) и любые cы ( другие ;ы). Но ╙существенно то,  ваш обработчик р24H ЙвосстановЬ;ы и осуществЬ возврат непосредственно в Pкладную Mу. rваш обработчик ╤имитирqть э, загружая AX Фом hки эи взводя CF, индицирqть hку (хорошие Mы "и делают). Хвы ╔есь в Pложе}"им способом, то, Ъутверждается в документации, э╤в "неойчивом" *и, пока не ╤┴вана я с yом старше 0cH. Проще ╞го ┐ю 30h . ═р24H ИГНОРИРУЕТСЯ ╢╕овых hок во ╟р25H/26HN─ Фы hок э Запуск и пе M и э %▒│*О x+m?#m5$~+1▒A1░;!;35;▒1GxIыMО-MBM Nр25H/26H: Прямая ╕qя nя  я/ки┌ ─╥─╥;─│ ─ ║ AL ║ y╕а (0=A, 1=B, и т.д.)└ ─╢ CX ║ счетчик считываемых жкываемых 6ов ║ DX ║ Гальv6(yлогического 6а э) ║ DS:BX ║ ╪║х (исходvжцелевой ╨)┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки, ░взведен aноса (CF=1) (см. |)└ ─╢ ║ зя ╞х ;ов Tятся, кроме DS,ES,SS,SP ║ ║ ВАЖНО: эти и оставляют одно лишнее 1в стеке ╙─╨;─ 5эпредоставляет прямой │к любому 6у ╕а, │ному  э-ўжмые ▓ы .  р25H читает 6ы  р26H кывает 6ы Логические 6ы эГинаются с Пго 6а . bый 6в @е э- логический 60. yа логических 6ов возрастают сГала ╢каждого 6а на цжндре, ипо каждой головке, и наТ по каждому цжндру на е. Заметьте,  ГлавБкорневая кь и любые другие 6ы вне @а э не│ны  5. Qе р13H - единственv5, Нй предоставляет полv│к Лчасти  ого ╕а. См. #у цо том, Ъэраспределяет логические 6ы по Цам, Эуемым во ╞х ╕овых nях э.┌─┐│ hки │ hки, возникающие в Lе р25H/26H, НЕ обрабатываются└─┘ обработчиком критических hок р24H . P╜е из Qя р25H/26H, э-ўвзводит aноса (CF=1), ░была hка. ░лен CF:AL = hка а (0-0cH) - аналогично ╒ам 0-7 в DI ╢р24H -  oиз Фов hок 13H-1fH (без 13H) в списке Фов hок эAH = одно из 2дующих зй: 80H = attachment failed to respond 40H = hка nи поиска на ╕е 08H = неверБконтрольБсумма (CRC) P и ╕еты 04H = запрошенv6не Е 03H = попытка ки на защищенную от ки ╕ету 02H = hка, отличБот aчи2нuвыше┌─┐│ Pмер │ Участок Mы, читающий Пй 6╕еты:└─┘ mov al,0 ;├╕A mov dx,0 ;├Пй 6эи BPB mov cx,1 ; o6... lea bx,my_buf ; ... в ╨по ╪у DS:BX int 25H pop dx ;удалЬлишнее 1из стека jnc no_err ...и т.д. ;обработать hку ╕а (Фв AX) no_err: ...и т.д. ;продолжЬ(hок ~) ле: Не рассчитывайте,  6-512 ╓. kите > 6а  и 1cH ж32H , либо прочитайте Пй 6.┌─┐│ 32 мега╓а? │ Утверждается,  эподдерживает максимальvобъем ╕а└─┘ в 32 Мб, но, 'ого говоря, неправда. ╢)х ▓ов >6а равен 512 ╓. Ясно,  , поскольку наибольший y6а, Нй ИпоместЬв DX ╢р25H/26H, равен 65535, максимальv>╕а получается равным 32767K, ж32M. Однако не-IBM'овские ▓ы (жбудущие ▓ы IBM) могут поддерживать >6а, больший 512 ╓. Пому ╢>а ╕а ~практических ограничений. Даже ╢с▒дняшних ▓ов, 32-мега╓vмаксимум относится лишь к единственному @у э. См. цпо поводу этих вопросов. э3.3 предоставляет компромиссное реше}, позволяя вам kЬдва логических тома на е. Ыиз них не превышает 32M, но по крайней мере вам │ны эти Sд}8M на вашем 40M ╕е без лишних фокусов.N─ р13H (│к ╕у  ў) и ▄-ў и э 3Э) 2Э2 {?_р27H: ося, но остаться 8м┌ ─╥─╥;─│ ─ ║ DX ║ ╪bого ╓а за 8м участком Mы└ ─╢ ║ (DX трактуется Ъ/от ▐(DS/ES Pзапуске)┌ ─╫─╫;─│ ╜ ║ ~ ║ (неPменим)└ ─╨─╨;─ ╔е э, оставляя часть fи распределенz, " Sдующие Mы не будут aкрывать участок fи. р27H - традиционvметод ки Mобслуживания Qй и Uьских #║х. я 31H (KEEP) предоставляет гибкую альтернативу му методу. р27H (Ъ╞типы ╜ов в э) восстанавливает ═ы р22H-24H из ▐завершающейся Mы. Пому ▒нельзя Эqть ╢ки постоян{обоаботчика критических hок жобработчика яЎ.N─ь31H Запуск и пе M Qя э эo25?_р28H: эКвант ╚э(~в документации) НЕДОКУМЕНТИРОВАННОЕ Qе эвыдает, Хждет нажатия Чи, а !`┴овом неНх й эс yами до 0ch включительно. PRр(спулер э) aхватывает ═, найти квант ╚╢  я ов и ┬а на O. прерыа}Эуется ! различными 8ми "popup"-Mами (TSR). rTSR Эует р28H Ъодну из нескольких своих точек ─а. То есть, TSR aхватывает нажатия Чи/ждругие триггерwсобытия, и т , ░активизация. и, в Lе обработки р28H, TSR └bоГальvобработчик Qя, и, ░ йа лен, активизирует свой Ф. ВАЖНО: Popup-Mа НЕ должна Эqть й эс yами вплоть ▀ до 0cH, пока она ╛ся внутри р28H.N─ р27H и 31H 34H% Qя э э"L.б?KL ╣?_ р2eH: ┐Уу э(~в документации)┌ ─╥─╥;─│ ─ ║ DS:SI ║ ╪выполняемой Уы эв форме "Lstring"└ ─╢ ║ (должна ╧│Бfь ╢мки Mы)┌ ─╫─╫;─│ ╜ ║ ?? ║ не ясно, ЪV(выполнен{йа└ ─╢ SS,SP ║ разрушены ╙─╨;─ НЕДОКУМЕНТИРОВАННОЕ Qе ╛Уу э, Ъ░бы  Уа была введена в ответ на подсказку э. P─е DS:SI на %у, в bом ╓е которой -ся ╖ %и, а в Sднем ╓е - 0dH (40dH не ─ит в подсчет длины). DB 0fH, "set P▄PT=$p$g", 0dH ; ** %а длиz0fH ╓** Pмер иллю'ирует основное Эq}5а -- он W анавливать зя в главном (Пм) окружении э. В любых других случаях предпочтительнее я 4bH (Д, ┐Є, `ав %у "/c dos_cmd"), поскольку она полностью документирqна.ля: Не забывайте сГала сжать ий MCB ей э4aH . ^естите ваш локальvстек в сжатую tь fи. Оставляйте МНОГО fи ╢стека -- эбуквально пожирает стек. SS и SP ┤╧сохранены `┴овом и восстановлены S. 5покрыт тайz. Он явно не Эуется ни одzMой э, включая Є. Есть !Ъие-то хитрости P▒┴ове из Mы, запущенzв gном е. Из-за загадочности мы рекомендуем не Эqть ▒.N─ь4bH (ч) Окруже}э Qя э Bыj2 jo?j_kр2fH: Мультиплексное Qе┌ ─╥─╥;─│ ─ ║ AH ║ yмультиплекс{Lа└ ─╢ ║ 01H = резидентБпорция Уы э'PRр' ║ ║ 02H = резидентБпорция Уы э'ASSIGN' ║ ║ 10H = резидентБпорция Уы э'SHARE' ║ ║ 03H-7fH (за9ирqно) ║ ║ 80H-0ф(│но ╢других Lов) ║ AL ║ yX ║ прочие║ зависят от Yункций ╢конкретuмультипл. Lов┌ ─╫─╫;─│ ╜ ║ AX ║ Фhки, ░взведен CF (╢Lов э)└ ─╢ AL ║ (ки (╢Lов э) ║ ║ 00H = не лен. Ианавливать ║ ║ 01H = не лен. Нельзя анавливать ║ ║ ф= лен ╙─╨;─ ═(0:00bc) предоставляет средства я Lами, │w╞й 3е из любого Pложения. ЫL╡включЬсебя в цепочку Qй, и ЫL в цепочке ╡Nерять AH на свой мультиплексvyLа. ░ йотносится к другому Lу, е 2дует `ать предыдущему ═у 2fH (по ╪у в ═е 0:00bc до ки ▒Lа).┌ ─┐│ ╠э│ р2fH не kено ╢╙ранних версий, чем э3.0└ ─┘ В э3.0, р2fH kено ТОЛЬКО ╢PRр, и зе AH (которое kяет yLа) не kено. В э3.2, ═ kен ", Ъописано выше.┌─┐│ Print Spooler │ AH=1 (жAH= угодно ╢э2.x)└─┘ - Яфейс, kяемый ╢фоновой [и ([{ спулинга) Sвыполнения Уы э'PRр'. AL - yX(0-5). ╞Xвозвращают Фhки (см. |). AL = 0: опросЬ(ки Lа ╜: AL = 00H = не лен, Ианавливать AL = 01H = не лен, нельзя анавливать AL = ф= лен AL = 1: направЬк спулеру DS:DX => направляемый g /0 =уровень (┼0 ╢э3.0, 3.1 и 3.2) /1 =DWORD ╪(/,7) %и ∙с ╕ом, путем и да, направляемого в очередь [и (глобальw- обобщенw- имена НЕ допускаются) AL = 2: снять выбранwы DS:DX => %а ∙с дудаляемого из очереди а (глобальw4ы допускаются в имени) AL = 3: Снять ╞ы (удалЬ╞ы из очереди и остановЬ[ь) AL = 4: (. ╔счетчик hок и задерживает очередь ╢изучения. Эуйте Yункцию 5, освободЬочередь. ╔: DS:SI => ╘описания а в очереди oж╘ов с ∙-именами ов. Т╘а отмечается пой %ой (д, Гинающимся с 00H). DX = счетчик Rьuhок, в'етившихся P попытке ┬а Sдн▒4а. AL = 5: Т(а. Освобождает очередь ╢про╡ия [и. AL = 0f8H-0ф: (9ируется ╢э) hки спулера: ░лен CF, то AX -Фhки: AX mhки ▀ .▀ 1 Аyи 2 не Е 3 Kне Е 4 Слишком м{ов (~│ulей) 5 │отвергнут 6 Аlь (т) 8 aполне}очереди 9 Занято 0cH Kи га превышают 64 4а 0fH А╕ 4▀┌─┐│ Assign │ AH=2 - мультиплексvy╢резидентzпорции Уы ASSIGN.└─┘ kена Yункция AL=0 (╣(ки).┌─┐│ Share │ AH=10H - мультиплексvyрезидентzпорции Уы эSHARE.└─┘ kена Yункция AL=0 (╣(ки).┌ ─┐│ Созда}собствен{Lа │ Эуйте р2fH Ъ─ки и└ ─┘ │а к вашему собственному резидентному Lу. Идея состоит в 2дующем: ░вы произвольно Эуете ═ ╢ваш▒собствен{│а, то вы подвергаетесь kенному риску, особенно в мультизадачz3е. ░же вы Эуете "ую "цепочку", то эзнает о вас, и ваш ═не ╤aкрыт другим обработчиком. Одна возможБпроблема: ~предkен{способа kЬ мультиплексvyваш▒Lа (;AH). Плохо Pвязываться к конкретному числу, ибо ~гарантии,  другой Lне ╤ Эqть же y. Вы ┤предусмотреть Ъую-то логику, гарантирующую вам четкое опозна}ваш▒Lа. Ваш L╡по меньшей мере Эqть Yункцию AL=0, вы могли выяснЬ, не был ли Lуже лен ранее.ле: ░ваш LЭует 5э, ж╛ся с незамаскирqнными Qями, то он ╡╧реентерабельным.N─ь31H р27H+ Qя э  tкл м н п о░u yB мые ▓ы  мый ▓а W ,)й Яфейс между эи не)м оборудq}м. Смотрите 2дующие @ы: Основы ▓ов . общее введе}в ▓ы  Схема нка а . $а bой части образа ▓а ╫а . ╒овые и, kяющие о йы а . Уы, выполняемые ▓ом а нок йа а . $а bых 13 ╓gа йа hки ▓а а . Фы hок, возвращаемые ▓ом в э 1*я а . ╒овые и, возвращаемые в э ╘cов ў(BPB) . схема, Эуемая блочными ами Спецификация expanded- fи ... и щанавливаются Ъ▓ ё. директива DEVICE= т ▓ыM─B и э 6кC y& к#н%*м/.о;1s2Основы ▓ов  мый ▓а - Mа в специальном е, загружаемая в fь во ╟мки э. ▓а хранится в двоичном е. Sассемблирqния исход{ Фа Эуйте EXE2BIN, преобразqть ▒в двоичv. В отличие от ов а .є, не Фируйте ORG 100H в Гале Фа. bой частью а должна ╧18-╓qя порция - нок а . bые 4 ╓а эмодифицирует Pке ▓а. ░ё -директиву 'DEVICE=', описывающую ▓а, то ╤ лен, т.е. включен в цепочку ▓ов. "ленное" о епреимущество `▓ом э╢одноимен{а. ╔═ нок а ═╗ ╓───┬───┬───┬───┬───┬─╥─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┐╔══║NextDev│ │ │ │C O N ║ Фи ║е ANSI.█ │║ ╙G┴G┴G┴G┴G┴G╨─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┘║ ╓───┬───┬───┬───┬───┬─╥─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┐║ ║NextDev│ │ │ │C O N ║ Фи ║е а CON │║ ╙G┴G┴G┴G┴G┴G╨─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┘║ ╓───┬───┬───┬───┬───┬─╥─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┐╚══║NextDev│ │ │ │L P T 1 ║ Фи ║е а LPT1 │╔══╙G┴G┴G┴G┴G┴G╨─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┘║ ╓───┬───┬───┬───┬───┬─╖╚══║NextDev│ │ │ │C O M 1 ║╔══╙G┴G┴G┴G┴G┴G╜║ ╓───┬───┬───┬───┬───┬─╥─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┐╚══║NextDev│ │ │ │C O M 2 ║ Фи ║е єn │╔══╙G┴G┴G┴G┴G┴G╨─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┘и т.д.┌─┐│ Strategy и Interrupt │ Два поля в нке а - 16-╒овые└─┘ ╪а Mв Фовом 7е ▓а. По любому йу а эсГала └Mу Strategy, `авая ей ╪нка йа в ES:BX. Задачей Mы Strategy является сохране}ES:BX ╢Sдующ▒Эqния (в мультизадачzсреде ╢Иподдерживать FIFO-очередь йов). иэ└Mу Interrupt (без cов). Ее задача состоит в извлечении ╪а самого "свеж▒" нка йа и обработке Уы, `анzв нке йа. РазличwУы Эуют разw $ы gов ║х в э. См. $ы йов , где Pведены Уы и их описания. Ъправило, ▓- не вроде N-ар{узла ветвлений ╢обработки ╞х возможuйов. Обработав й, ▓╡Ьв Слове *я а (пя и hки, а ивернуться в э FAR RET.M─; ▓ы    v;ъ0ы С%s'>,E&$к6( v* v=*+Спецификация <ой fитема описывает формальную спецификацию Lotus/Intel/Microsoft,Эуемую ╢│а к "Expanded" fи в PC-совместимой 3е. См. и щ об описании 5а р67H.kения: ■ "Extended" fь стоит ТОЛЬКО на AT (PC на Lоре ▌286▐ ) и занимает физическое ╪ное про'анство за 1 Мб. В э3.2 она Эуется лишь ╢▌-╕ов. См. р15H , Y. 87H-89H. ■ "Expanded" fь Эует EMS-совместимую плату fи и Mv ▓. &ы fи могут "разворачиваться" и "вытесняться" из физического ╪{про'анства за обычным пределом 640K (a000:0). Платы EMS создают четыре 16K-╓овых &ы (╞го 64K) ╪уемой fи, Pобщем объеме в 8 мега╓fи, │z╢"свертки". EMS - промышленvстандарт,  W"им Mам, ЪLotus 1-2-3, Эqть эту fь ╢хранения больших #. EMS !Эуется ╢▌-╕ов и спулеров [и. НеНе 8е Mы Эуют fь EMS ╢хранения ║х и &Фа (тем самым умещаясь в минимальном 640K-╓овом ╪ном про'анстве).┌!─┐│ kе}, лена ли EMS │ EMS-fь управляется мым└!─┘ ▓ом а с да "EMSX0", известным Ъщ(EMS Manager). kЬ, лен ли ▓, воспользуйтесь ей 3dH , попытаться iо Ъ. Открыв , Эуйте ю 44H (▀) Y. 07H,  V(. ░возвращенv((в AL) равен 0, то щНЕ лен, а "EMSX0" на ╕е по Ъой-то Pчине существует. Sинсталляции ▓а щ═р67H ╤указывать на нок ▒а. Пому еще oспособ NерЬналичие EMS - извлечь ╪из ═а ╢р67H (0:091c). По 0ению 0aH от ╪а должно ╧1"EMSX0". См. $у нка а┌ ─┐│ 5щ│ ╢обращения к менеджеру fи EMS Эуйте р67H└ ─┘ с Фом Xв AH, Ъописано в ях щN─ и щ0 и ▄-ў >u w w w" w* w. w2 w9 w? wG wK wT w` wb w.bucи щ Здесь описаны различw5wи менеджера Expanded-fи. Сводка й щ ▐!▀█"▀▌ ▐ 40H ╣(щ █ 47H Сохр. контекст $ы ▌ ▐ 41H ╣╪7а фрейма █ 48H Восст. контекст $ы ▌ ▐ 42H ╣общую/│ную fь█ 49H,4aH (9ируется) ▌ ▐ 43H i/распред. &ы █ 4bH Счет &lя ▌ ▐ 44H Картирqть fь █ 4cH Счет активulей ▌ ▐ 45H Закрыть/освобод. &ы █ 4dH ╣инф. по ╞м lям▌ ▐ 46H ╣y╠щ █ 4eH ╣/. полную карту '. ▌ ▐!▄█"▄▌ ┴вать ю щ, мите в AH yи, подготовьте остальw ;ы, Ъ╢и, и ┴овите р67H. Nерьте (возврата в AH. ░AH ненулевой, я не выполнена.щFn m■ F■AH=40H ╣(щ. Эуйте Sки щ. См. EMS ╔: AH= (щ■ F■AH=41H ╣физический 7v╪фрейма EMS (64K в четырех 16K-╘ах) ╔: BX= ╪7а (░AH=0) AH= (щ■ F■AH=42H ╣>fи EMS / │ную fь ╔: DX= ╞го &EMS в 3е (16K каждая) BX=  &EMS, свободuв ий момент AH= (щ■ F■AH=43H ilь (т) щи распределЬfь ─: BX= требуемое  & ╔: DX= lь щ(Эуется в Sдующих nях) AH= (щ■ F■AH=44H Спланирqть fь. ВключЬот 1 до 4 распределенu&fи в физическое ╪ное про'анство. ─: AL= yфизической &ы (от 0 до 3) BX= логич. '. (0 до [n-1], где n =  &, распределенulю DX= lь щ ╔: AH= (щ■ F■AH=45H Закрыть lь щ. ОсвободЬfь, распределенную ей 43H ─: DX= lь щ ╔: AH= (щ■ F■AH=46H ╣y╠щ ╔: AL= y╠щв Фе BCD (AL=0302 - версия щ3.2) AH= (щ■ F■AH=47H СохранЬконтекст $ы. щсохраняет ее +ие физических &логическим &ам EMS, " popup-Mа ж▓а могут Эqть свой план fи. я щ48H восстанавливает bоГальную $у. ─: DX= lь щзапрашивающ▒Lа ╔: AH= (щ■ F■AH=48H ВосстановЬконтекст $ы. щPводит схему fи в *е на момент предыдущ▒┴qщ47H с тем же lем. ▓ы и popup ┤делать `возвратом в Pложе}. ─: DX= lь щзапрашивающ▒Lа ╔: AH= (щ■ F■AH=49H (9) Не kено ╢щ╠3.2AH=4aH (9) Не kено ╢щ╠3.2■ F■AH=4bH Подс &ы lя. ─: DX= lь щ(LЙиметь их ╙од{) ╔: BX= логических 16-K &на lь (1-512) AH= (щ■ F■AH=4cH Подс активwlи. (Полезно `┴овом и щ4dH) ╔: BX= активulей AH= (щ■ F■AH=4dH ╣Юю о &ах ╢╞х lей. ╔массив, описывающий  &EMS ╢каждого актив{lя. ─: ES:DI= ╪╨а. ╔: BX=  активulей щ ES:DI ╨заполнен DWORD-ами. bое 1 а - ylя, второе - общее   &, Pнадлежащих му lю. AH= (щ■ F■AH=4eH ╣/Ьполную карту &. я предназГена ╢ поддержки мультизадачuOS ╢╙пол{контроля над EMS. Массив Йсодержать разнообразную Юю, зависящую от s. ─: AL= yX AL=0 V;карты в массив ES:DI AL=1 Ь;ы карт из массива DS:SI AL=2 комбинация Yункций 0 и 1 AL=3 йЬ>╨а, требующийся ╢Y. 0-2 ╔: AL - >╨а ;ов карт (Yункция 3) ES:DI - ╨-массив ║х EMS (X0 и 2) AH= (щN─ (щ" Спецификация <ой fи  v.u(щPвозврате из йа р67H к менеджеру Expanded-fи ;AH ┼-Ф(а/hки. ░(не равен 0, то запрошенБяне выполнена. kены 2дующие hки: ( зе ▀ >▀ 0 ~hок; я выполнена 80H внутренняя hка ▓а щ 81H сбой платы fи EMS 82H щзанят 83H Аlь (т) 84H запрошена не kенБя 85H ~│ulей щ 86H hка Pсохранении жвосстановлении контекста 87H й=я превышает общую fь EMS 88H й=я превышает  │u& 89H попытка ilь с нулевым счетчиком & 8aH ваш lь не располагает "им  м & 8bH неверый план. kены лишь физические &ы 0-3 8cH aполне}tи сохранения контекста 8dH Исохранять контекст лишь oраз на lь 8eH попытка восстановЬконтекст без предваритель{сохранения 8fH не kен cXN─ и щ! Спецификация <ой fи Ю. n!▒*n*▒+7+!,ED,ы -3;-э1;ы@ыBыH n.a▓tЮМ▒)М░3Н n+Р3+ШO1ШPЪ▒ЪЮ0Ъ nЫ#а =я ов э(ц) ц- связvсписок, Нй эЭует ╢от2живания физического расположения ║х на ╕е и ╢поиска свободzfи ╢новых ов. 1по 0ению 1aH в е pя -ybого Ца в цепочке =я а. +ующий цлибо  Тцепочки, либо ссылается на 2дующий , и т.д. Pмер:" yГаль{Ца ══╗ ╓─┬─┬─┬───┬───┬──┬─╖pя║M Y F I L E T X T│a│ │tim│dat│08 │ ╖║ ╙G┴G┴G┴G┴G┴G┴G┴G┴─┴─╫G┴─┴─╜$ ╔═╝ 00 01 02 03 04 05 06 07 ║8 09 0a 0b 0c 0d 0e 0f ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌─┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐00 │ID││ff││03═04═05═ff││00││00││09═0a═0b═15││00││00││00││00│ └──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└╫─┘└──┘└──┘└──┘└──┘ ╔═╝ ┌──┐┌──┐┌──┐┌──┐┌──┐┌─┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐10 │00││00││00││00││00││16═17═19││f7││1a═1b═ff││00││00││00││00│ └──┘└──┘└──┘└──┘└──┘└──┘└──┘└╫─┘└──┘└─┘└──┘└──┘└──┘└──┘└──┘└──┘ ╚═╝диаграмма иллю'ирует основwконцепции ц. Из нее видно,  : MYFILE.TXT занимает 10 Цов. bый ╓▒- в Це 08, Sдний - в Це 1bH. Цепочка Цов - 8,9,0a,0b,15,16,17,19,1a,1b. Ы на 2дующий цепочки, а Sдний - специальvФ. Ц18H помечен Ъплохой и не ─ит в цепочку =я. Цы 6,7, 0cH-14H и 1cH-1fH пы и │ны ╢=я. Еще одна цепочка Гинается с Ца 2 и кончается Цом 5.┌─┐│ Кое- о ц│ цrГинается с логического 6а 1 в @е э└─┘ (т.е. ее Ипро по р25H с DX=1). В общем случае сГала надо про Пй 6(DX=0) и взять по 0ению 0eH  корневых и 9u6ов, расположенu`ц. Эуйте и  (r1) Ъ.е DX, про ц р25H. Йсуществqть копий ц. rподдерживаются две идентичu копии. В этих случаях ╞копии расположены непосредственно друг за другом. эпредоставляет 2дующий 5, помогающий вам ис2дqть ц:  р25H W Пй 6и ис2дqть ▒поля  и э36H и 1cH позволяют узнать общее  6ов и Цов  Эуйте 44H (░▓поддерживает Generic ▀) э3.2  я 32H предоставляет м{полезzЮи. НЕТ В ДОКУМЕНТАЦИИле: Пй 6незагружаемого ╕а (типа сетевого блоч{ а ж ого ╕а старых моделей) Йне содержать ниЪой полезzЮи.┌─┐│ 12-╒/16-╒│ цЙсостоять из 12-╒овых ж16-╒овых ов.└─┘ 12-╒овые ы эффективны ╢╕ет до 384K - вся ц Йумещаться в одном 512-╓овом 6е. ╢носителей ╥го >а "ие ы цтребуют ╞больших >ов Ца - ╢╕а 20Мб =е осуществляется единицами по 16 6ов, уместЬся в 12-╒овые ы ц. (Т.е. в 1 ╓требует 8K ╓на ╕е). 16-╒овые ы цбыли введены, Гвс э3.0 , Хвозникла необходимость эффектив{я 20-мега╓ным  ым ╕ом. Однако гибкие ╕и и 10-мега╓w ые ╕и продолжают Эqть 12-╒овую схему. Вы Йе выяснЬ, Ъую из двух схем исповедует ваша ц: э3.0 : ░╕-╙4086 (0ff6H) Цов, он Эует 16 ╒(4096 - максимум ╢12-╒ового числа; >0ff6H 9ируется) э3.2 : ░╕-╙20740 (5104H) СЕКТОРОВ, он Эует 16 ╒(т.е. Л╕╥10 мега╓Эует 16-╒овую ц; ╞прочие - включая ▌-╕и - Эуют 12-╒овую схему).ле: По общему заблуждению считается,  16-╒qя цWэ работать с ╕ами, большими 32Мб. На самом деле, ограничивает то,  р25H/26H не Йработать с СЕКТОРАМИ, yа Нх ╥65535. " Ъ>6а r512 ╓, то диктует 32-мега╓овый лимит. С другой стороны, ни не запрещает вам иметь 6ы ╥го >а, " теоретически эЙработать с любыми ╕ами.┌ ─┐│  е ц│ про Лц(2дуя по цепочке ц),└ ─┘ сГала прочитайте в fь всю ци получите из pя ГальvyЦа. и, в случае 12-╒овых ов: Умножьте yЦа на 3 ═╗ @ите результат на 2 ═╩═ ╖а - 1.5 (3/2) ╓ Прочитайте СЛОВО по результирующему ╪у (0ению от Гала ц) ░yЦа четv, Pмените маску 0fф(выделите младшие 12 ╒) ░yЦа нечетv, сдвиньте зе вправо на 4 ╒а (выделите старшие 12 ╒) Результат дает ╢2дующ▒Ца в цепочке (0fф=Т). ле: 12-╒овый Йaсекать границы двух 6ов, "  будьте внимательны, ░считываете по одному 6у ц. 16-╒овые ы проще - Ы-16-╒овое /(от Гала ц) 2дующ▒а в цепочке (fH индицирует Тцепочки).┌─┐│ .е ц│ bый ╓цназывается дескриптором x, ж└─┘ цID ╓ом. 2дующие 5 ╓(12-╒овые ц) ж7 ╓ 16-╒овые ц) содержат 0ф. ОстальБчасть цсостоит из 12-╒овых ж 16-╒овых ов, Ыиз Нх представляет oЦи - одно из 2дующих зй:  (0)000H . │vЦ  (f)ff0H до (f)ff7H . за9ирqнvЦ  (f)ff7H . плохой Ц  (f)ff8H до (f)fф. Тцепочки =я  (0)002H до (f)fefH . yЦа 2дующ▒а в цепочкеле: старшая цифра зя Эуется в 16-╒овых ц; Д, плохой Цотмечается зем 0ff7H в 12-╒овых ци зем fff7H в 16-╒овых ц.┌0─┐│ Преобразq}yа Ца в y6а │ Получив Гальvy└0─┘ Ца ╢а из а pя , вы захотите обратЬся к реальному 6у ╕а. ╕ета (ж@э ого ╕а) $ирqна 2дующим образом:  Пй и 9ируемые 6ы  ц#1  ц#2 (необязательна - не Эуется в ▌-╕ах)  Пе pе  tь ║х (включая ы подpй) Каждая секция в $е е^енную длину, и ╢Окт{ преобразqния Ца в 6необходимо знать длину каждой "ой секции. 2дующие формулы дают единственvдокументирqнvспособ kения yа логического 6а эиз yа Ца: RootDirSectors = SectorBytes / (RootDirEntries * 32) FatSectors = FatCount * SectorsPerFat DataStart = ReservedSectors + FatSectors + RootDirSectors LogicalSector = DataStart + ((StartCluster - 2) * SectorsPerCluster)где зя: SectorBytes SectorsPerFat FatCount RootDirEntries ReservedSectors SectorsPerCluster извлекаются из Пго 6а жиз BPB (░вы ее к нему │). Результирующий y6а дает зе DX ╢р25H/26H . ░вам не занимать отваги, вы Йе избавЬся от ╞х этих хлопот, Эуя недокументирqнную ю э32H (╣Юю о ╕е), которая предоставит вам gуже рассчитанu║х, включая y6а, с которого Гинаются ║е.ле автора: Наилучшее Pмене}, которое я нашел ╢ц- обойти средства поиска ов эи осуществлять свое собственное сканирq}pй. Прямой │к 6ам pй дает Pмерно двукратное ускоре}по сравнению со )м 5ом э4eH и 4fH .N─ Схема Пго 6а pя р25H/26H .(ы1-x7:9=:[.? гBы#D╩Js Pы Sы XыCX┌ ]ы4bъ+cы@hС lыnE/nм8}ыы(Б╩5Е╚@Л\Ны:Т ╩@Ч\ЪэЭЯ0н╕5░ ~▓ы▓] ╢ы2╢ы4┬ ╣╤э>╤ы╙8%▐8+тЁыЄsЄ ┌"ЄEAЄ єё Хэстартует, она загружает IBMBIO.єс ╕а мки. Mа ищет в Пм pи ё. ░существует, он считывается и Япретируется Ънабор Уконфигурации. Здесь рассматриваются 2дующие Уы конфигурации:Уа я █ Уа я ▀ ▀ █  ▀ ▀BREAK= уровень Nерки яЎ█ LASTDRIVE= лимит ╕ов ╢SUBSTBUFFERS=  ╕овых ╨ов █ FILES= макс.  lейCOUNTRY= Юя о 'ане █ SHELL= Япретатор УDEVICE= ▓а █ STACKS= стек Qй оборуд.DRIVPARM= я не знаю, а вы? █ SWITCHAR= 4-_ьхS= макс.  х(сети) █N▀ ё╡иметь )й ·-, и каждая %а текста заканчивается CRLF (·0dH,0aH). В конце а (необязательно) Й Pсутствqть 4яZ (·1aH). Форма Фировки УсвободБ. Допускаются Ъ'очw, "и прописwбуквы, а знак равенства ('=') Й ╧окружен пробелами.  вые cы, там, где они Pменимы, ┤ ╧десятичными числами.Уа я ▀ C▀BREAK= т уровень Nерки яЎ. :BREAK=ON BREAK=OFF BREAK = ON Wвручную снимать неНе Mы, Не в противном случае будут выполняться до сво▒пя. ■ C■BUFFERS= т  ╨ов (╢╕овых 6ов), Не э ЙЭqть. WускорЬnи с ╕ами. :BUFFERS=BuffCnt BuffCnt -  ╨ов, от 2 до 99. По ю 2. э3.3 е варьируется в зависимости от │zfи. Увеличивая  ╕овых ╨ов, вы повышаете вероятность того,  эсЙобойтись без обращения к ╕у, тем самым увеличивая суммарную скорость ╕овых nй. Вы ┤указать Ъминимум с╨ов, сколько потребно ╢ц. Кроме того, большое  ╨ов ускоряет обработку больших $pй. Слишком большое  ╨ов СНИЖАЕТ эффективность, потому   эвынуждена тратЬм{╚на Nерку *я каждого ╨а. Серьезное замедле}наблюдается, Гвс 50 ╨ов. Мы предлагаем 2дующие зя ╢Уы BUFFERS:  AT с 20- ж30-мега╓ным  ым ╕ом: BUFFERS= 32  XT с 10-мега╓ным  ым ╕ом: BUFFERS= 16  PC (гибкие ╕и): BUFFERS= 4 ■ C■COUNTRY= т "ую 'ану" (см. и 38H и 65H ).  воздействует на даты/╚и ╬а ╢Є. :COUNTRY=Ф'аны aчень Фов 'ан см. в @е Фы 'ан . По ю Pнимается США (001). э3.3 : COUNTRY=CountryCode, [CodePage,] FontFilespec Опция CodePage выбирает Фовую &у ╢указанz'аны. FontFilespec aкрывает е COUNTRY.█и задает , содержащий #ы . опция задается, ░COUNTRY.█ находится в Ще, отличном от Пго, ж╢указания собствен{а Фовой &ы. ■ C■DEVICE= Включает ▓а во внутренний список ▓ов э. :DEVICE=[d:] "" - [Kи] гдвоич{а с образом ▓а. 2дующие ▓ы поставляются вместе с э: э3.x Ansi.Sys . <ое е ом/Шой Vdisk.Sys . ▌-╕ Driver.Sys . поддержка фантомz╕еты э3.3 Display.Sys ... ъ, LCD ╢Уы 3.3 'MODE' Printer.Sys ... aключе}╢Oов IBM C─ DEVICE=ANSI.█ э2.0+ Включает <ые средства Си. См. ANSI.█ C─ DEVICE=VDISK.█[K╓] [SecSize] [DirSize] [/E[:MaxSec]] ╞cы необязательны и подразумеваются по ю. э3.x т ▌-╕. mопций: K╓ суммарv>▌-╕а в кило╓ах (е=64) SecSize >6а ╕а: 128, 256 ж512 (е=128) DirSize макс. ов в Пм Ще (е=64) /E требует поместЬ▌-╕в ▌286▐ extended-fь :MaxSec Эуется с /E в э3.2 . Задает максимальное   6ов, считываемых/кываемых одновременно (1-8, е=8). Qя sзапрещаются во ╟│а к extended-fи. минимизирует потенциальwрасходы на обработку Qй (ЪP конкурирующем Rьном в/в). См. р15H C─ DEVICE=DRIVER.█/D:PhDrv /T:Trks /S:Sects /H:Hds /C /N /F:n э3.2 т 'фантомv' (логический) ╕. Эуется !╢подключения внешн▒флоппи-▓а. См. !: ▀Y. 0dH-0fH и йы 13H-18H /D:PhDrv физический y╕а (обязателен; прочие - ~) 0-3 = y╕овода ╢гибких ╕ов 128,129 = bый, второй ╕овод  ого ╕а /T:Trks  дорожек на одну сторону (е=80) /S:Sects  6ов на дорожку (е=9) /H:Hds  головок (сторон) (е=2) /C требует поддержки "Changeline" (AT) /N специфицирует несъемvноситель ( ый ╕) /F:n тип а ╕а: 0 = 160/180K (1-сторонний) ж320/360K (2-сторонний) 1 = 1.2M ╕большой емкости 2 = 720K (3-1/2 дюйма) 7 = 1.44M (3-1/2 дюйма) э3.3 C─ э3.3 DEVICE=DISPLAY.█CON=( Adapter , HwCodePage, (MaxFonts,SubFonts)) Эуется Pобеспечении Фовых &. Adapter MONO, ї, ъжLCD. HwCodePage аппаратно умалчиваемая Фqя &а (r437). MaxFonts  │u(12 ╢ъ, VGA и Convertible LCD, 0 ╢прочих ┘ов). SubFonts  , поддерживаемых одzФовой &ей. (2 ╢ъи VGA; 1 ╢LCD, 0 ╢прочих). ▓т резидентную Юю ╢Уы э3.3 MODE и Эуется в сочетании с NLSFUNC Fn 66H C─ э3.3 DEVICE=PRрER.█LPTn=( PrnType, (HwCp1[,HwCp2]), MaxFonts ) Обеспечивает aключе}╢Oов IBM. PrnType 4201 (Proprinter) ж5202 (Quietwriter III) HwCpN oждва аппаратно поддерживаемых Фов & MaxFonts , сколько ╨ов ╢. ▓т резидентную Юю ╢Уы э3.3 MODE и Эуется в сочетании с NLSFUNC Fn 66H ■ C■DRIVPARM= НЕДОКУМЕНТИРОВАННАЯ Уа конфигурации. IBMBIO.є обрабатывает ее, но мне непонятны ее назе и ее cы. ■ C■хS= т  ╘ов я ами (х), Не могут ╧открыты одновременно, Хактивизирqно @е}ов. :хS=MaxCnt,KeepCnt MaxCnt - максимальное  одновременно открытых ов (1-255; е=4), Хлена Уа SHARE. KeepCnt задает  х, защищенuот автоматического закрытия, Хдостигнуто зе MaxCnt. заставляет Уу SHARE Pзакрытии ов оставлять bые KeepCnt ов открытыми. ■ C■FILES= т  lей ов в 3е. :FILES=Maxтs Maxтs - максвимальное  lей ов , которое э╤поддерживать (от 5 до 99, е=8). Многие Pложения требуют зя FILES=20. В любом случае Mа не Й одновременно i╙20 ов. См. Фhки э12H. э3.3 я ь67H WувеличЬMaxтs без aмки. ■ C■LASTDRIVE= т лимит обозй ╕ов ╢Уы эSUBST. э3.0 (но есмысл лишь Гвс э3.1 ) :LASTDRIVE=d 'd' - однобуквенное обозе ╕а (от A до Z; е=E). эподдерживает 80-╓овую tь ╢каждого ╕а, в которой от2живается ее умалчиваемое pе. ╢╕ов SUBST, 3а хранит в tи действительv╕и K pя, +ующие данному обозю ╕а. ■ C■SHELL= Заменяет Япретатор У(Є) другой Mой. Эуется !╢ки >а окружения ╢Є. :SHELL=[d:][cы] увеличЬ>окружения э, Эуйте Уу вида: SHELL=Є/E:1000 /P /E задает  ╓, а /P форсирует выполне}AUTOч.BAT. Эуйте 'SET єSPEC=', гарантирqть,  3а ┼найдет Є(░, Д, находится не в Пм pи ╕а мки). ■ C■SWITCHAR= - НЕДОКУМЕНТИРОВАННАЯ Уа конфигурации ╢э2.x , которая т 4'aключения' ╢Уz%и. См. ь37H . :SWITCHAR=c 'c' - o4(е='/'). Смысл Уы - позволЬUям выбирать 4, указывающий Вопции в Уz%е (Д, '-'), и освободЬслэш ('/') ╢Эqния в именах путей.  возИсть не описана и не Эуется утжтами. В э3.2, SWITCHAR не распознается ЪправильБУа конфигурации; тем не менее, я э37H по-прежнему работает. ■ C■STACKS= Уа решает проблему реентерабельности и одновременu Qй от s. См. Qя и 5▄-ў. :STACKS=FrmCnt,FrmSiz FrmCnt  фреймов (порций) стека, распределяемых э (от 8 до 64; е=9) FrmSiz >в ╓ах каждой порции стека (от 32 to 512; е=128) Pкаждом Qи от sэраспределяет стековый фрейм из пула и т SS:SP ╢обработчика Qй. Sвозврата из обработчика Qй стековый фрейм ╔ся в пул. э3.3 Вы Йе отменЬэти действия экой STACKS=0,0N─ ▓ы  Фы ANSI ▀ и э   ╕ b#@)AAGLEлsE■AE F)й ╬-┬ Гвс ╠2.0, эподдерживает UNIX-подобную концепцию ]ия стандарт{╬а и стандарт{┬а. концепция kяет способ, Нм одна Mа направляет свой ┬в другую ж aхватывает ┬другой Mы. ░он не ], )й ╬╬ит с Шы, а )й ┬┬ит на ; и тот, и другой являются ями а CON. Родительский L("ой ЪЄ) ЙaназГЬ)й ╬, ┬жоба, `тем Ъ`ать е порожденному Lу. предоставляет мощvспособ `ачи Юи от Lа к Lу PминимальuMuиздержках. См. lи ов о предkенulях стандарт{в/в. и 4ь{в/в , а !3fH / 40H реализуют )й в/в. Эуйте lь а 02H (стандартное о hок) с ей 40H ╢┬а сообщений об hках. Эуйте ю э46H (FORCDUP), aназГЬ)й в/в. Эуйте ю э4bH (ч), ┐порожденvL. Эуйте ю э44H (▀), kЬ, был ли ] )й ╬-┬. ╫а ╢мого ▓а , должно ли о Эqться Ъо стандарт{╬а и/ж┬а.┌─┐│ Єи )й в/в │ Япретатор УэNеряет каждую└─┘ Уную %у на 4ы ]ия ╬а-┬а, прежде чем выполнять внутреннюю Уу ж┴ывать Mу: L<  ╛L; ╬"с Шы" берется из а L>  ╛L; ┬"на " идет в  L>>  ╛L; ┬"на " добавляется в  L1 | L2 1. ╛L1, ┬идет во временv 2. ╛L2, ╬берется из времен{а 3. Удаляет временv ля:  ]ие ┬а 4ом '>' создает ╜z, усекая ▒длину до 0 до того, ЪZв н▒. Эуйте '>>', добавЬ┬ в Тсуществующ▒а.  Вы Йе Эqть "канал" ("|"), сцепЬвместе  Mи Уэ: DIR | SORT | FIND /v "i" >myfile.txt  Ывременv"канальv" еуникальное г, формируемое из цифр их даты и ╚. "ие ы создаются ┼в ем умалчиваемом pи умалчиваемого ╕а.  полезuслучаев ]ия Уы ECHO: ECHO ^L >PRN (посылает 4прогона на O) ECHO y|DEL *.* (отвечает "y" на вопрос "Are you sure?") ECHO ATDT 1(213)555-1234 >AUX (соединяет по телефону)  Направляйте ┬на о NUL, избавЬся от неНх сообщений э: COPY *.єd: >NUL (подавляет сообще}"1 File(s) copied")  Єигнорирует 4ы ]ия, заключенwв кавычки: REM Я Эую 4">" в м комментарииN─Нажмите , вернуться к предыдущей теме и э "▒Э ╣CLDыЭ ╣!Я %k)%l3%m' <2 й/< йFЭ WЭdMe$ei mM-n Nro+r2t N|f}Э ~' L АZ Б03БВ ╣4Е DЕ ЖЗапуск и пе M эЙзагружать и выполнять Mwы двух типов -- єи EXE. Ввиду 7ации ╪{про'анства Lора 8088/86/286 и того факта,  \ы (JMP) и ┴овы (CALL) Эуют относительную ╪ацию, оба типа Mмогут выполняться в любом месте fи. Mы НИКОГДА не пишутся в предположении,  они будут загружаться с kен{╪а (за исключе}м 6а мки и неНх самозагружающихся, защищенu от копирqния игровых M). є-а - двоичvобраз Фа и ║х Mы. "ой  ╡занимать менее 64K и не -^ещаемых ╪ов 7ов. EXE-а -специальvнок, Pпомощи которого мчик ╛на'ойку ссылок на 7ы в загруженном модуле.┌─┐│ ╞Mы │ `мкой є- жEXE-Mы эkяет└─┘ 7v╪, называемый префиксом M{7а (▐) , Ъбазовый ╢Mы. эвыбирает Pм наименьший │v ╪; другая управляющая Mа (скажем, Microsoft Windows) Й├ любую часть fи. иэ╛2дующие шаги: ■ Создает копию ▒Окружения э╢Mы. я э4bH (ч) Wродительской Mе ,другое окруже}. Д, Mа ЙзапЬЄ, ив в качестве подсказки э текст "Use EXIT to return to UltraProg>". ■ Помещает K, откуда загружена Mа, в Токружения. э3.0+ ■ Заполняет поля ▐Юей, полезz╢загружаемой Mы (См. Префикс M{7а о $е этих ║х):  количество fи, │ное Mе  7v╪Окружения э  0-2 неоткрытых ╘а хЪрезультат разбора Уz%и (ле: открыв bый х, вы aкроете часть второго)  cы Уы: в точности те 4ы, Не введены в Уе (подлежат разбору ╢kения опций и cов)  ие ═ы Qй р22H р23H и р24H ■ т умалчиваемый ╪ына ▐:0080 ■ Загружает ;AX зем, отражающим Октность обозй ╕ов (░есть) в cах, введенuв Уz%е:  ░AL=0ф, то bое обозе ╕а неверно  ░AH=0ф, то второе обозе ╕а неверно┌─┐│ EXE-Mы │ EXE-Mы содержат Mu7ов,└─┘ включая 7Фа, ║х и стека. EXE-загружается, Гвс ╪а ▐:0100. В Lе мки считывается нок EXE в Гале а и ╛ся ^еще}╪ов 7ов. озГает,  ссылки типа mov ax,data_seg mov ds,ax и call my_far_proc┤╧Pведены (aсчитаны), учесть тот факт,  Mа былазагружена в произвольно выбранv7. См. нок EXE о подробностях$ы нка и Lа ^ещения. S^ещения е `ается мочному модулю ин'укцией далекого \а (FAR JMP) к ╪у CS:IP, извлеченному из нка EXE. В момент получения я Mой EXE-а: ■ DS и ES указывают на ▐ ■ CS, IP, SS и SP аализирqны зями, указанными в нке EXE ■ поле ▐MemTop -зе, указанное в нке EXE. rвся │Бfь распределена Mе.┌─┐│ є-Mы │ є-Mы содержат единственv7(ж, во всяком└─┘ случае, не содержат явuссылок на другие 7ы). Образ є-а считывается с ╕а и помещается в fь, Гвс ▐:0100. Заметим,  є-Mа ЙЭqть множественw7ы, но она должна сама вычислять 7w╪а, Эуя ▐Ъбазу. є-Mы предпочтительнее EXE-M, Хдело касается небольших ассемблерuутжт. Они бы'ее загружаются, ибо не ^ещения 7ов, и занимают меньше места на ╕е, поскольку нок EXE и 7стека отсутствуют в мочном модуле. Sмки двоич{образа: ■ CS, DS, ES и SS указывают на ▐ ■ SP на Т7а ▐(r0fffeH, но Й╧и меньше, ░полv64K 7не│ен). 1по 0ению 06H в ▐, Ъая часть M{7а │на.■ Вся fь 3ы за Mным 7ом распределена Mе.■ 100H помещено (PUSH) в стек.■ IP -100H (bый ╓модуля) в результате Уы JMP ▐:100.┌─┐│ ╜из Mы │ Одно ╟(в эпоху э1.1), mсхемы ╜а из└─┘ Mы, которую изобрел Rube Goldberg, занимало &. Гвс э2.0, жЬстало легче. Вы Йе выйти:   ю 4cH (EXIT) в Лмомент, независимо от зй ;ов.   ю 00H жQе р20H , Хваш CS на ▐. До ╠э2.0, вы ┤были сохранять 7▐Pзапуске. и, выйти, вам Pходилось помещать 7в стек, далее помещать в стек 100H, и наТвыполнять FAR RET. `авало е на ╪▐:0, содержащий ФQя р20H. процедура гарантирqла,  ;CS анавливался "им, Ъим ▒ожидала э. я э4cH раняет эти сложности и Wвам возвращать родительскому Lу (rЄ) Ф╜а , Нй Й╧ Nерен ┴ывающей Mой жУой Є"IF ERRORLEVEL". Вы Йе !оMу и оставЬее постоянно резидентz, Эуя либо р27H , либо ю э31H (KEEP). Sдний способ е те преимущества,  8й ФЙ╧длиннее 64K, и  вы Йе сформирqть Ф╜а ╢Nерки ▒в родительском Lе. TSR-Mы удобны Pке Uьских заплат ╢эи ў. концепция Эуется popup-утжтами, "ими ЪSideKick и ваш покорvслуга TECH с! (░называть наи╙важwPмеры). 2дующие пункты имеют отноше}к рассматриваемой теме: и я Lами бй запуска и пя Префикс M{7а детальБ$а ▐ ь26H . по'оЬ▐ ь4bH (ч) . мЬи ┐Mу ь62H . Vзе ▐╢ей Mы ь2fH . Vий ы Окруже}э. kЬ╕и pе, из Нх" загружена ая MаN─4 и э Темы с  ы а#c%#WB# $:│а / :открытия Версия э3.x добавила в овую 3у эсетевые возИсти и и ╘ировки ов. Дополнительwсложности ┤rпроявляться лишь ╢тех Lов, Не предполагается Эqть в сетевом окружении. ┌#─┐ │ :ы │а э2.x (без сети) │ ├#─┤ │ 0 = i╢ я │ │ 1 = i╢ки │ │ 2 = i╢ я и ки │ └#─┘ э3.x !поддерживает эти :ы. В ней :│а Япретируется Ънабор ╒овых флажков:B║i│ shr │0│ r/w ║ ╒овые и :а открытия╙╥┴G┴G┴─╜ ╒ы ║ ╚═╦═╝ ╚═══╩═ 0-2: Права │а Lа в сети ║ ║ 000 =  е ║ ║ 001 = кь ║ ║ 010 =  е и кь ║ ╚ ═ 4-6: :@ения: 000 = :совместимости 0H ║) 001 = монопольvзахват а 10H ║) 010 = отвергать кь 20H ║) 011 = отвергать  е 30H ║) 100 = нич▒не отвергать 40H ╚═ 7: На2дq}: 1 = Pватv╢Lа 80H$ 0 = на2дуется порожденными Lами ░╫а индицирует  е, он aкрывает эти и. ╒ы прав │а в сети и :а @ения имеют эффект в том случае, Хлена Mа эSHARE.N─ т-jvв/в я 5cH (LOCK) и э  5  j ы_+`B О ях э и эпредставляют собой неорганизqнную кучу средств я ами, ами, fью и Lами, │uЛMе, которая способна Ь;ы и ┴вать Mное Qе. обратЬся к и э:  поместите yи эв ;AH (░есть X, то yXrпомещается в AL)  мите остальw;ы согласно описанию и  подготовьте необходимые ╨ы, %и ∙и ╘и  запомните (жите) местоположе}ы, ░необходимо  ┴овите Qе р21H  Nерьте индикатор hки, возвращенvэ(aноса) эне изменяет зй ;ов, исключая случаи, Хрезультирующие ║е возвращаются  ;ы. В Lе развития эновые ╠остаются (в целом) совместимыми с ╙ ранними версиями. См. ╠эна предмет обсуждения несовместимостей.N─ Qя э Группы й э и э  ы; ╣ы&T:m: n ?m7HT aT!}T!ТTФmBФ ХФы hок э Фы hок э2.0+ (возвращаются в AX, ░лен CF)hка# hкаHex Dec зе Hex Dec зе▀▀▀ ▀▀▀ ▀ ▀▀▀ ▀▀▀ ▀ 1 1 Аyи 0aH 10 Неверное окруже} 2 2 не Е 0bH 11 А 3 3 Kне Е 0cH 12 АФ│а 4 4 Слишком м{открытых ов 0dH 13 НеверБдата 5 5 │отвергнут 0eH 14 (не Эуется) 6 6 Аlь (т) 0fH 15 Задан А╕ 7 7 Разрушены ╘и упр. fью 10H 16 Нельзя удалять тек Щ 8 8 Недостаточно fи 11H 17 Не то же самое о 9 9 А╪╘а fи 12H 18 ╥~искомых ов■■■ ■■■ ■ э3.x Fn 59H добавления ■ 0 0 ~hок (не ожидайте 0, ░была хоть Ъая-нибудь hка)13H 19 Попытка ки на защищенv╕─ 0 ─┐14H 20 НеизвестvID а 1 │15H 21 ╕овод не готов 2 │16H 22 НеизвестБУа 3 │17H 23 hка ║х ╕а (hка CRC) 4 ╞═ Эти Фы +уют18H 24 НеверБ╖$ы йа 5 │ hкам 0-0cH, `ава-19H 25 hка поиска на ╕е 6 │ емым в ;е DI обра-1aH 26 Неизвестvтип x╕а 7 │ ботчику критических оши-1bH 27 6не Е 8 │ бок р24H . Они !1cH 28 Тбумаги на Oе 9 │ совпадают с Фами в AL1dH 29 hка ки 0aH │ ╢р25H/26H1eH 30 hка  я 0bH │1fH 31 Общая hка ─ 0cH ─┘20H 32 Наруше}@ения а21H 33 Наруше}╘ировки а22H 34 НеверБзамена ╕а23H 35 хне│ен (слишком м{открытых х)24H 36 aполне}@яемого ╨а25H-31H (9)32H 50 Сетевой йне поддерживается33H 51 Удаленvкомпьютер не слушает34H 52 Повторе}имени в сети35H 53 гв сети не Ео36H 54 Сеть занята37H 55 Сетевое о ╥не существует38H 56 Превышен лимит УNET ў39H 57 Сбой аппаратуры сетевого ┘а3aH 58 Аответ из сети3bH 59 НеожиданБhка в сети3cH 60 Несовместимый удаленv┘3dH 61 aполне}очереди [и3eH 62 ~места ╢а [и3fH 63 [и удален40H 64 Сетевое гудалено41H 65 │отвергнут42H 66 Атип сетевого а43H 67 гв сети не Ео44H 68 Превышен лимит сетевых имен45H 69 Превышен лимит сессий Net ў46H 70 Временно Pостановлено47H 71 Сетевой йне Pнят48H 72 ]ие ╕а жOа Pостановлено49H-4fH (9)50H 80 уже существует51H 81 (9)52H 82 НевозИсделать Щпым53H 83 р24H сбой Pобработке Qя по критической hке54H 84 Слишком м{]ий55H 85 Повторе}]ия56H 86 Апароль57H 87 Аc58H 88 hка ║х в сети┌─┐│ Класс hки │ Эти Фы предоставляют дополнительную Юю, └─┘ помочь вам обработать hку. я 59H ╔ зе класса hки в ;е BH.КлассHex Dec зе (╔ся в BH ей 59H)▀▀▀ ▀▀▀ E▀ 1 1 ~ресурса: не хватает х, fи, каналов, lей ов etc. 2 2 ВременБситуация: исчез~со временем (Д, ╘ировка а) 3 3 Проблема авторизации: вы ┤иметь ╙высокие полномочия 4 4 Внутренняя hка: эсбилась 5 5 hка s 6 6 3Бhка: эсбилась 7 7 hка Pложения: неОктvй, неверwcы и т.п. 8 8 Не Е: запрошенv/не Е 9 9 А: запорчен EXE, плохой ╕и т.п.0aH 10 ╘ировка: /захвачен другим Uем0bH 11 hка x: А╕, hка контроля четности и т.п.0cH 12 Уже существует: /уже существует0dH 13 Неивестvкласс: классификация не kена жне подходит┌─┐│ Предлагаемое действие │ Эти Фы отражают подходящее действие по ранению└─┘ hки. Идея состоит в том, сэкономЬваш Ф, не заставляя вас Nерять Фы hок в Pложении. Вместо вы достиг~е совместимости вверх, выполняя предлагаемые |действия. я 59H ╔эти Фы в ;е BL.ДействиеHex Dec зе (╔ся в BL ей 59H)▀▀▀ ▀▀▀ E▀ 1 1 ПовторЬ: повторите nю раз. ░hка повторяется, йите Uя, продолжать жзакончЬработу. 1 1 Задержать повтор: подождите нем{и повторите nю. ░hка повторяется, йите Uя, продолжать жзакончЬработу. 3 3 ╬Uя: ░║е ╢эбыли введены Uем, предложите ему повторЬ╬(м.б., АID ╕а жK). 4 4 Снять: снимите Pложе}. И┐nи пя, "ие Ъзакрытие ов, обно╩бов, освобожде}fи и т.п. 5 5 Немедленv╜: снимайте немедленно без попытки пя. 3а в подозрительном *и, и немедленv╜- лучшее. 6 6 Игнорирqть: hка ни на  не влияет. 7 7 ПовторЬSдействия Uя: вмешательство Uя (Д, ка ╕еты). Sповторите nю.┌─┐│ Сфера hки │ Эти Фы служат ╢того, помочь вам kЬместо└─┘ hки. я 59H ╔эти Фы в ;е CH.СфераHex Dec зе (╔ся в CH ей 59H)▀▀▀ ▀▀▀ E▀ 1 1 Неизвестно: не существует kенztи ╢Pвязки hки 2 2 Блочное о: hка ╕ового жленточ{а 3 3 (9) 4 4 4ьное о 5 5 fь┌ ─┐│ ╠э│ Обработка hок совместима снизу вверх ╢╞х версий э.└ ─┘ Pменимы 2дующие общие правила:  э1.x: индицирует неНе hки, помещая в AL Pвозврате 0ф.  э2.x: новые ┴овы 2.x индицируют hки, анавливая CF=1 и помещая Фhки в AX.  э3.x: ┴овы 3.x по-прежнему помещают Фhки в AX PCF=1, но ~гарантии,  будущие ╠будут поступать "же. Советуем Эqть ю 59H ╢получения Юи об hке.N─ р24H Обработка критических hок и э АЙ5ЩБМ5ЪВН5ЫГОДРЕС Т У Ж Ф З Х ЦИЧШ _v>▄Qя и 5▄-ўQя 5 и▀ ▀ ▀ р00H Деле}на 0 р10H ╦5 р1dH ╦cы р01H Пошаговое р11H Оборудq} р1eH cы ╕ет р02H Немаскируемое р12H >исп.fи р1fH 4ы графики р03H Точка прерыв. р13H ╕овый в/в р04H aполне} р14H В/в  RьvT р05H [ь а р15H Расшир.5AT р41H hard disk 0 parms р06H (9) р16H В/в Шы р46H hard disk 1 parms р07H (9) р17H В/в Oа р08H Таймер р18H ▄-BASIC р44H ъgraphic chars р09H Ша р19H мка р0aH-0dH (hdwr ints) р1aH В/в таймера р4aH user alarm addr р0eH ╕ета р1bH Qе клавиату р50H Їtimer int р0fH (hdwr int) р1cH Uьское Qе по таймеру р20H-2fH Qя э р67H и Expanded-fиN─> ^енwў -B р00H: aполне}Pделении Lор автоматически └Qе Sвыполнения УDIV жIDIV, ░результат nи деления (частное) не умещается в поле результата. ситуация включает и деле}на 0. Д: mov ax,4000H ;делимое mov bl,2 ;делитель - ╓, пому частное - тоже ╓(AL) div bl ;4000H/2 = 2000H,  не умещается в ╓е AL ; пому ╛ся Qе р00Hжпросто: mov bx,0 div bx ;любое деле}на 0N─- и ▄-ў и э -B р01H: Пошаговое Qе ░лен трассировки Lора (TF=1), Lор └ Qе Sкаждой Уы. Отладчики, Не позволяют вам осуществлять пошаговое выполне}Mы, Эуют Qе, aхватывать е и выдавать ;ы, fь и т.п. Трассировка отключается (TF=0) Pвыполнении ЛУы р, " само р01H ╛ся не в пошаговом :е. S╜а из Qя ( IRET) ╞и восстанавливаются, " 2дующая Уа вновь ┴овет пошаговое Qе. Обычvспособ Гать трассировку - поместЬв стек 1, содержащее ╞нужwи (включая TF=1), поместЬв стек требуемые зя CS и IP, а и┐IRET, Гать трассировку с указан{╪а.N─- и ▄-ў и э ъ-B р02H: Немаскируемое Qе Немаскируемое Qе (NMI) - единственное Qе, не запрещаемое Уой CLI. Пому ▒ИЭqть в специальuслучаях, Не требуют немедлен{действия. Qе спроектирqно ╢обработки ката'офических ситуаций, "их Ъсбой питания. В 3е, обеспечивающей целостность ║х, NMI Й ┬Ьобраз fи на ╕с целью избежать потери ║х. В стандартz 3е PC ў, NMI аппаратно └ся в случае "hки четности" fи. Хпроисходит, PC зависает. А теперь скажите, чувствуете ли вы себя в безопасности, зБ,  ╤потеряна вся ваша fь, а не ╒? СоLор 8087/80287 подключен к линии NMI, и └Qе, Х в'ечает условие исключения (Д, деле}на 0). rвы ┤ T64H, выяснЬ, не произошел ли сбой fи, и ░~, ┐FNSAVE, ЬPчину сбоя 8087, а иFNCLX ╢ранения hки. ле: PC Jr Эует NMI ╢╬а по инфракрасzсвязи.N─- и ▄-ў и э -B р03H: Qе по точке ═Qя р03H Эуется отладчиками, aхватывать е, ХMа достигает указан{Uем ╪а. Фnи ╢р03H занимает o╓(0ccH), " им И временно замещать ВЛин'укции Lора, не боясь заTЬ 2дующую ин'укцию.N─- и ▄-ў и э -B р04H: Qе по aполнению ═р04H ЙЭqться Ъoиз способов оптимизации M, содержащих большое  арифметических nй. ВыданБSЛарифметической nи, Уа рO осуществляет Nерку на арифметическое aполне}, и, ░aполнения взведен (OF=1), └Qе р04H.Вам, возИ, в'ечался Фтипа 2дующ▒: mov ax,var_1 add ax,var_2 into ;2-╓qя Уа Nерки на aполне} ... и т.д. ... ;либо не было aполнения, либо оно уже обработаноN─- и ▄-ў и э 3З ╚: Й-B р05H: [ь а р05H, к ужасу фирмы Intel (которая считала ▒за9ирqнным Qем), Эуется в PC ╢┴qMы ▄ў, [ающей . Qе └ся обработчиком Qя р09H Pраспознавании Чи PrtSc. Оно Й!┴ываться из Mы, и вы Йе aхватывать Qе, ░хотите предоставЬсвою Mу [и а. В √ўесть я, заменяющая обычvФPrint-Screen Mой, которая Йобрабатывать различwwфонты. См. р10H Y. 12H. Уа э"Graphics" заменяет эту Mу своей, которая выдает ╗(в точечном представлении) на IBM-совместимый ╗ O.N─- и ▄-ў и э & ▄-B р08H: Qе от таймера аппаратно генерируемое Qе (IRQ 0) └ся по каждому тику часов реаль{╚PC. Часы тикают каждые 55мс, жоколо 18.2 раз в секунду. Ф▄-ў╢Qя обновляет зе часов на 0:046 сек.  Ф!выключает моторы гибких ╕ов по истечении Pмерно двух секунд без nй ╬а/┬а. См. !║е ў. ░вы хотите Эqть Qе ╢обработки событий, зависящих от ╚, вы ┤предусмотреть Ф, сообщающий 3е, Х Qе закончено. Магическая Rьность "q: mov al,20H ;послать сигнал Т-Qя out 20H,al ; Ру Qй 8259 Большинство MЭуют ╢▄-ў. Д, вГале Mа Uя сохраняет ═▄-ўв ^енzс д cs:[saved_int8]. ипо каждому Qю р08H ╛ся "ой Ф: pushf ;имитирqть р call dword ptr cs:[saved_int8] ;┐нормальную обработку cmp cs:my_var,test_value ;теперь сделать свои черwдела ... и т.д. ... iret ;возврат в прерванную Pкладную Mу "`н▒плана"N─- и ▄-ў и э  Т╗ ╓ ║ ┐& ▄& ▐,&A& 'р09H: Qе от Шы аппаратно генерируемое Qе (IRQ 1) ╛ся Pкаждом нажатии и отпускании Чи. Ф▄-ўЯпретирует и сохраняет зя в ╨е Шы по ╪у 0:041e. Он !обрабатывает специальwслучаи ЧPrtSc и SysReq, и от2живает *е Ч┌и различuLock.См.: р16H  . 5ў╢│а к ключам, запомненным в ╨е, и опроса *я служебuЧ. СканФы  . aчень зй ╞х возможuключей, Ъони Pнимаются Qем р09H. #а · Расшире}·. сводка зй, сохраняемых ўв ╨е Шы Sтрансляции сканФов. и Шы . ЪV, NерЬи модифицирqть ╒овые зя ов ┌и Lock. 8е popup-Mы, Не rпредусматривают "кнопку ┴q", aхватывают р09H и Nеряют на kенvключ Pмерно ": push ax in al,60H ; ключ cmp al,POP_KEY ;кнопка ┴q? je do_pop ; да, активизирqть popup$ ; ~, уйти на исходvобработчик pop ax jmp cs:[int9_vect] ;\на bоГальvобработчикdo_pop: ;- 2дующий Фнеобходим ╢отработки аппарат{Qя in al,61H ;зe Tа я Шой mov ah,al ; сохранЬ▒ or al,80h ;Ь╒разрешения ╢Шы out 61H,al ; и вывести ▒в управляющий T xchg ah,al ;извлечь исходное зе Tа out 61H,al ; и кать ▒обратно mov al,20H ;послать сигнал "ТQя" out 20H,al ; Ру Qй 8259 ;- дальше - прочие Nерки, и наТ- активизация popupN─ ║е ў Tы в/в и ▄-ў и э 5О т  ▄-B р0eH: Qе от ╕еты р0eH - аппаратно генерируемое Qе (IRQ 6), ┴ываемое Ром флоппи-╕ов. Ф▄-ўвзводит ╒7 в ^енzў"seek_status" (0:043e), отмечая,  запущена nя поиска на ╕ете. Qе р13H Эует  , kЬ, не ли рекалибрация Ра ` 2дующей nей.N─ Tы FDC ║е ў и ▄-ў и э  1К2Л,╚,╚,╚<ъC╚ ц х. ▄=р10H: ╦5 |Pведен aчень й ╦5а, предоставляемых ▄-ў.Подробное mй р10H см. в теме: Детали ╦5аmдополнительuвозИстей √см. в: √ў5AH 5 AH 5▀▀▀ "▀ ▀▀▀ "▀00H . ╦: 0aH Z401H . >и форму Ма 0bH ├палитру/бордюра02H . позицию Ма 0cH Zграфическую точку03H  позицию Ма 0dH  графическую точку04H  световое перо 0eH Z4в :е TTY05H ├активную &у дисплея 0fH  ╦:06H листать окно вверх (жочистЬ) 10H √. палитру07H листать окно вниз 11H √генератор 4ов08H  4/╫ 12H √специальwи09H Z4/╫ 13H Z%у ( A+ √)N─ Tы в/в ї Tы в/в ъ ║е ў и ▄-ў  !ЙЛ х ц╚!ъjЛlъl╚yЛ-y ▄/форму Ма (текст). М, ░он видим, ┼мерцает. ─: CH = ГальБ%а (0-1fH; 20H=подавЬМ) CL = конечБ%а (0-1fH)▀▀▀ J▀02H . позицию Ма. ка на %у 25 делает Мневидимым. ─: BH = ╦&а DH,DL = %а, колонка (считая от 0)▀▀▀ J▀03H  позицию и >Ма ─: BH = ╦&а ╜: DH,DL = ие %а,колонка Ма CH,CL = ие ГальБ,конечБ%и Ма (см. ю 01H)▀▀▀ J▀04H  световое перо ─: ~ ╜: AH = триггер (0=~зй; 1=возвращены зя светового пера) DH,DL = %а,колонка 4а (текст) BX = колонка точки (╝) CH = %а точки (╢графики ъ╔ся в CX)▀▀▀ J▀05H ├активную &у дисплея ─: AL = y&ы (большинство MЭует &у 0)▀▀▀ J▀06H листать окно вверх (жочистЬ). Листать на 1 ж╙%вверх. ─: CH,CL = %а,колонка верхн▒левого угла окна (считая от 0) DH,DL = %а,колонка нижн▒правого угла окна (считая от 0) AL =  пых %, вдвигаемых снизу (0=очистЬ╞окно) BH = ╦╫, Эуемый ╢пых %▀▀▀ J▀07H листать окно вниз (вдвинуть пые %и в верхнюю часть окна) ─: (аналогично и 06H)▀▀▀ J▀08H  4/╫в ей позиции Ма ─: BH = y╦&ы ╜: AL = прочитанv4 AH = прочитанv╦╫(╢текстовых :ов)▀▀▀ J▀09H Z4/╫в ей позиции Ма ─: BH = y╦&ы AL = кываемый 4 CX = счетчик (сколько экземпляров 4а кать) BL = ╦╫(текст) ж(╝) (графические :ы: +80H озГает XOR с 4ом на е)▀▀▀ J▀0aH Z4в ей позиции Ма ─: BH = y╦&ы AL = кываемый 4 CX = счетчик (сколько экземпляров 4а кать)▀▀▀ J▀0bH ├палитры/бордюра (ї-совместимые :ы) ─: BH = 0: (текст) ├бордюра BL = бордюра (0-1fH; от 10H до 1fH - интенсивw) BH = 1: (╝) ├палитру BL = 0: палитра green/red/brown BL = 1: палитра cyan/magenta/white▀▀▀ J▀0cH Zграфическую точку (слишком медленно ╢большинства Pложений!) ─: BH = y╦&ы DX,CX = %а,колонка AL = зе а (+80H озГает XOR с точкой на е)▀▀▀ J▀0dH  графическую точку (слишком медленно ╢большинства Pложений!) ─: BH = y╦&ы DX,CX = %а,колонка ╜: AL = прочитанное зе а▀▀▀ J▀0eH Z4на активную ╦&у (эмуляция телетайпа) ─: AL = кываемый 4(Эует существующий ╫) BL = `н▒плана (╢графических :ов)▀▀▀ J▀0fH  ий ╦: ─: ~ ╜: AL = ий :(см. ю 00H) AH =  текстовых колонок на е BH = ий yактивz&ы дисплея▀▀▀ J▀10H-12H См. √ў5▀▀▀ J▀13H Z%у A √ Выдает %у в позиции Ма. 4ы 0dH (CarRet), 0aH (LineFeed), 08H (backspace) и 07H (Beep) трактуются Ъ Уы я и не высвечиваются. ─: ES:BP => ┬имая %а (спец╢AL=2 и AL=3) CX = ╖%и (подсчитываются 4ы) DH,DL = %а,колонка Гала ┬а BH = y&ы AL = ФX: 0 = Эqть ╫в BL; не трогать М 1 = Эqть ╫в BL; М- в Т%и 2 = %и: char,attr, char,attr...; не трогать М 3 = %и: char,attr, char,attr...; сдвинуть МN─X10H-13H: √ў5 ║е ў и ▄-ў '└B╚К х$╚' ╝╚@=ЫCNЫW╚aъa╚nЙ nК"n ▄=no√ў5Эти и анавливаются в Lе ▄-Scan Pналичии платы √.См. Детали ╦5а Y. 00H о ╦:ах, Pменимых к ъ.См. Tы в/в ъо прямом │е к средствам платы ъ.AH 5▀▀▀ J▀10H Ь;ы палитры ╢√ Выбирает а, Эуемые ║м ╫ом а. Умалчиваемые а - те же,  Эуются с ї(см. ╫ы а ). ─: AL = 0: . o;палитры BL = ;(идентифицирует 4-╒овый ; 0-15) BH = зе ;а (6-╒овый rgbRGB выдаваемый ) AL = 1: . ;бордюра. Note: not much of a border. BH = зе ;а AL = 2: . ╞;ы палитры и ;бордюра ES:BX => 17 ╓(;ы палитры и ;бордюра) AL = 3: ├интенсивность жмерца} BL = 0: интенсивность фона (16 возможuов фона) BL = 1: мерца}(8 ов фона + мерца}`н▒плана) зя ;а палитры ╢Yункций 0,1,and 2: ┌─7─┬─6─┬─5─┬─4─┬─3─┬─2─┬─1─┬─0─┐ │не исп.│ r g b/I R G B │ (6 ╒= 64 возможuа) └E─╥─┴F───┘ ╚═ действует Ъинтенсивность ╢:ов ї▀▀▀ J▀11H √и генерации 4ов. Сбрасывают ╦^енw, не изменяя их зй в реген-╨е (т.е. не очищается). ─: AL = 0: мЬUьский фонт ╢текстового :а ES:BP => #а с фонтом Uя CX =  сохраняемых образцов 4ов DX = /4а (фонт грузится с Фа ·) BL = загружаемый ╘(0-4; 4 P256K fи ъ) BH =  ╓в образце 4а (Д, 8 ж14) AL = 1: мЬ4ьvфонт 8x14 ▄ BL = y╘а фонта (0-4) AL = 2: мЬдвойz4ьvфонт 8x8 ▄ BL = y╘а фонта (0-4) AL = 3: . спецификатор ╘а. WЭqть 2 из 4 . Второй фонт выбирается ╒ом 3 ╫а. (Иными слqми, ░вы задаете "`н▒плана" выше 7, ъ╤Эqть вторичvфонт.) BL = селектор ╘а (4 ╒а, 0-0fH) ┌─7─┬─6─┬─5─┬─4─┬─3─┬─2─┬─1─┬─0─┐ │не Эуется│# ╘а│# ╘а│ └EF───┴───┘% ╚═╦═╝ ╚═══╩══ исп., ░╒3 атр.=0' ╚ ═ исп., ░╒3 атр.=1 J▀ X10H, 11H и 12H полагают активz&у 0 и ┤ Эqться непосредственно Sки :а. Они aвычисляют %и и колонки и aMируют неНе ;ы CRTC, включая ;ы Ма. AL=10H: мЬUьский текстовый фонт (см. Y. 00H) AL=11H: мЬфонт ▄8x14 (см. Y. 01H) AL=12H: мЬдвойzфонт ▄8x8 (см. Y. 02H) J▀ AL=20H: . Uьский фонт ╢графических :ов ES:BP => 2048-╓овый фонт 4ов 8x8 ╢р1fH AL=21H: . Uьский фонт ╢графических :ов ES:BP => #а 4ов 8x8 ╢р44H CX = точек (╓на 4) BL = Фчисла %на е 0 =  %задано Uем DL =  4ьu%на е 1 = 0eH (14 4ьu%на е) 2 = 19H (25 4ьu%на е) 3 = 2bH (43 4ьu%на е) AL=22H: . фонт 8x14 ▄╢графических :ов BL = Фчисла %на е (см. выше) AL=23H: . двойzфонт 8x8 ▄╢графических :ов BL = Фчисла %на е (см. выше) J▀ AL=30H: ╣Юю ъ BH = Фйа я #ы 0 = вернуть ES:BP => тек. адр. граф. фонта р1fH 1 = вернуть ES:BP => тек. адр. граф. фонта р44H 2 = вернуть ES:BP => адр. фонта ▄8x14 3 = вернуть ES:BP => адр. фонта ▄8x8 4 = вернуть ES:BP => ╪вершины фонта ▄8x8 5 = вернуть ES:BP => адр. альтерн. табл. ▄9x14 ╜: CX = точек в фонте (╓на 4) DL = %на е▀▀▀ J▀12H √специальwи (Alternate Select) ─: BL=10H: вернуть Юю ъ ╜: BH = :(0=z; 1=Ж) BL = Фвеличины fи (0=64K; 1=128K; 2=192K; 3=256K) CH = ╒ы средств (зя неЭуемых коннекторов RCA) CL = зя _ей ┘а/дисплея ─: BL=20H: ├альтернативную Mу [и а (Эуйте Ыраз Pизменении числа %на е).▀▀▀ J▀13H Z%у A √ Выдает %у с указанzпозиции Ма. 4ы 0dH (CarRet), 0aH (LineFeed), 08H (bksp) и 07H (Beep) трактуются ЪУы и не высвечиваются. ─: ES:BP => выдаваемая %а (спец╢AL=2 и AL=3) CX = ╖%и в 4ах DH,DL = %а, колонка Гала ┬а BH = y&ы AL = ФX: 0 = исп. ╫в BL; не обновлять М 1 = исп. ╫в BL; `винуть Мв Т%и 2 = %и: char,attr, char,attr...; не трогать М 3 = %и: char,attr, char,attr...; сдвинуть МN─ р10H Детали ╦5а ║е ў и ▄-ў ╛ ъ< ┴ ▄=р11H: Nерка s р11H ╔в AX ╒ы, указывающие ленное и/жактивное оборудq}.$ Смотри Список s о $е этих ╒овых ов. Aе!║е конфигурации, хранящиеся в Ї-fиN─ ║е ў0 и ▄-ў  u vС+ ю ┴ Э/{ ▄-B р12H: >Эуемой fи р12H ╔AX =  кило╓fи в PC. то же зе, которое хранится в 0:413. Оно не включает aключаемую <ую fь (см. Спецификацию Expanded-fи ). Оно !не включает "extended-fь" с ╪ами выше 1 мега╓а. См. и щ и р15H ╢PC, зе берется из _ей. Машины PCjr, XT и большинство клонов выполняют просмотр fи во ╟POST , kЬобъем fи. AT считывает свою Ї-fь , kЬобъем ▌. Префикс M{7а (▐) ЛMы !-зе >а fи; обраще}к ▐:0002 - обычvспособ kЬ> │zfи. (эжвуправляющая Mа ЙпредоставЬ вашей Mе не всю имеющуюся fь). См. Запуск и пе M.N─ ║е ў и ▄-ў и э 5/ n ▐ тП╡╢$ П%-П%1П;ъ?ъ%BПEъ Eъ&G ┴Oъ2Q╢SъUъ Uъ%WПZъ Zъ%]П_ъ _ъ%aПcъ cъfъ%hПjъ%lПnъ nъ pПrъ rъ tПvъ wПyъ zП|ъ |ъ }ПъЗъНъХ▐Хт/Х ▄=ХЦр13H: ╕овый ╬-┬ 5предоставляет прямой │а ┘ам ╕еты и  ого ╕а. Рекомендуется там, где возИ, Эqть р25H/26H , позволЬ ▓ам эвыполнять всю низкоуровневую обработку. Разумеется, ╢"их nй, Ъирq}╕а жка защиты от копирqния, Qе р13H Йоказаться единственzальтернативой. См. !: Карта Tов в/в и Tы Ра ╕ет" (X> 8 - ╢ ых ╕ов)X: 00H сброс Ра 08H ╣парам ╕а 10H тест готовности 01H ╣( 09H иниц табл парам 11H рекалибрация 02H  6ы 0aH длинное  е 14H диагностика 03H Z6ы 0bH длинБкь 15H ╣тип ╕а 04H верификация 0cH искать цжндр 16H изменЬ( 05H ир дорожку 0dH альтерн сброс 17H тип ╕аAH 5▀▀▀ J▀00H Сброс а. └рекалибрацию Ра. ░DL равен 80H ж81H, выполнен сброс контр  ╕а, иГе FDC.▀▀▀ J▀01H ╣(hки Sдней nи. ─: DL = ╕. DL < 80H = ╕ета; DL > 7FH =  ый ╕ ╜: AL -Фhки ╕а (то же,  зе по ╪у 0:0441)▀▀▀ J▀02H  6ы ─: DL = y╕а (0=╕A...; 80H=тв.╕0; 81H=тв.╕1) DH = yголовки  я/ки CH = yдорожки (цжндра)(0-n) ═╗ CL = y6а (1-n)  ═╩══ См. ле |. AL =  6ов (в сумме не ╥чем oцжндр) ES:BX => ╪╨а ┴ывающей Mы 0:0078 => #а cов ╕еты (╢гибких ╕ов) 0:0104 => #а cов тв.╕а (╢ ых ╕ов) ╜: Carry-=1 Phке и Фhки ╕а в AH. ES:BX ╨-║е, прочитанwс ╕а ле: на 6и цжндр отводится +енно 6 и 10 ╒: 1 1 1 1 1 1 ╓5┬4┬3┬2┬1┬0┬9┬8╥7┬6┬5┬4┬3┬2┬1┬0╖ CX: ║c c c c c c c c C c S s s s s s║ ╙G┴G┴─┴─╨G┴G┴─┴─╜! ╚═╩═══ исп. Ъстаршие ╒ы yа цжндра▀▀▀ J▀03H Z6ы ─: (аналогично X02H) ES:BX => ║е, кываемые на ╕. ╜: Carry-=1 Phке и Фhки ╕а в AH.▀▀▀ J▀04H NерЬ6ы. Nеряет CRC ╢указанu6ов на hки. ─: (аналогично Y. 02H. ES:BX лучше !предоставЬ) ╜: Carry-=1 Phке и Фhки ╕а в AH.▀▀▀ J▀05H ирqть дорожку. ║е на дорожке, ░есть, разрушаются. ─: DL,DH,CH = ╕,головка,дорожка (см. Y. 02H) ES:BX => дескрипторы 6ов (512-╓овый ╨) ╕ета: 1 4-╓овый 'CHNS' (Цжндр,Головка,N6а,>) ╢каждого 6а на дорожке (т.е. 36 ╓╢ 9-6uдорожек); yа 6ов д.б. упорядочены. 'Z' - Ф>а 6а: 0=128; 1=256; 2=512; 3=1024 AТв. ╕: 1 2-╓овый 'FN' (,N6а) ╢каждого 6а на дорожке. Rьность полей 'N' kяет "коэффициент прослаивания" ("interleave factor"). ■XT■ Тв. ╕: ES:BX не Эуется. Вместо AL -зе "прослаивания" между 1 и 16 (10H). ╜: Carry-=1 Phке и Фhки ╕а в AH. (тв. ╕: 'F'-поля лены в 80H, помечая плохие 6ы)▀▀▀ J▀08H A ■XT■ ╣cы ╕а. ╔Юю об е. Эти зя bоГально анавливаются из #ы в ▄, в зависимости от Фа типа ╕а, кан{в Ї-fи ─: DL = ╕ ╜: DL =  тв. ╕ов на bом Ре DH = максимальvyголовки CH = максимальvyцжндра (младшие 8 ╒) CL = максим. y6а (и старшие ╒ы макс. yа цжндра)▀▀▀ J▀09H Aаализирqть cы ╕а. Сообщает ўо любом динамическом изменении #cов а. ─: ═ы ╢р41H и р46H ╪уют Табл. cов тв. ╕а +енно ╢0 и 1. ле: ■XT■ : оба а ┤Эqть cы в р40H.▀▀▀ J▀0aH A ■XT■  е длинное: 512 ╓+ 4-╓оый ECC (ФОкции hок) ─: (Ъ╢Y. 02H) ╜: Carry-=1 Phке и Фhки ╕а в AH. ES:BX => в ╨е (║е 6а+4 ╓а) *  6ов (из AL)▀▀▀ J▀0bH A ■XT■ кь длинБ. Пишет 512 ╓+ 4-╓овый ECC. ─: (Ъ╢Y. 02H) ES:BX => ╨-║е 6а + 4 ╓а на Ы6 ╜: Carry-=1 Phке и Фhки ╕а в AH.▀▀▀ J▀0cH A ■XT■ Искать цжндр. ^ещает головку к нужzдорожке. ─: DL,DH,CH = ╕,головка,дорожка (см. Y. 02H) ╜: Carry-=1 Phке и Фhки ╕а в AH.▀▀▀ J▀0dH A ■XT■ Альтернативvсброс а ─: DL = ╕▀▀▀ J▀0eH A ╨6ов ─: (Ъ╢Y. 02H) ╜: Carry-=1 Phке и Фhки ╕а в AH.▀▀▀ J▀0fH AZ╨6ов ─: (Ъ╢Y. 02H) ╜: Carry-=1 Phке и Фhки ╕а в AH.▀▀▀ J▀10H A ■XT■ NерЬготовность а ─: DL = ╕ ╜: Фhки ╕а (() в AH.▀▀▀ J▀11H A ■XT■ Рекалибрqть о ─: DL = ╕ ╜: Фhки ╕а (() в AH.▀▀▀ J▀12H A▌-Диагностика Ра ╜: Фhки ╕а (() в AH.▀▀▀ J▀13H AДиагностика а ╜: Фhки ╕а (() в AH.▀▀▀ J▀14H A ■XT■ Внутренняя диагностика Ра ╜: Фhки ╕а (() в AH.▀▀▀ J▀15H A тип ╕а (не│на в XT ў) ─: DL = ╕ ╜: AH = Фа: 0 = о DL отсутствует 1 = ╕ета; логика замены ╕а отсутствует 2 = ╕ета; логика замены ╕а │на (чаще ╞го) 3 =  ый ╕▀▀▀ J▀16H A (замены ╕а ╜: AH = Ф(а: 0 = ╕не был заменен 6 = замена активна (открыта ╕qя дверь); DL = yзаменяемого ╕а▀▀▀ J▀17H AЬтип ╕еты (Эуется `nей ирqния) ─: DL = yа ╕а (0 ж1) AL = тип x╕а: 0 = не Эуется 1 = 360K ╕ета в 360K е 2 = 360K ╕ета в 1.2M е 3 = 1.2M ╕ета в 1.2M еN─ План Tов в/в Tы Ра ╕еты ║е ў и ▄-ў  О ъ(ъIъъъ&ъО-B Фы hок ╕а р13H ╔Carry-(CF=1), ░произошла hка. Pм в ;AH помещается oиз Pведенu|Фов hок. Эти же зя могут ╧возвращены Pйе *я ╕а (Yункция 00H). ле: Phке рекомендуется сброс Yункцией 00H и повторЬ3 раза.#Ош. m▀ H▀ 00H Sдняя nя выполнена без hок 01H плохая Уа: Айк Ру 02H плохая ╪Бмарка 03H защита ки: попытка ки на защищенную ╕ету 04H ID 6а запорчен жне Е. 05H hка сброса -- A 08H сбой ю 09H aкрытие ю: попытка ки  64K-╓овую границу. 0bH в'етился плохой дорожки -- A 10H сбой CRC: несовпаде}контрольzсуммы ║х. 11H ║е исправлены; исправимая hка; исправлено алгоритмом ECC -- A 20H сбой Ра 40H неудачvпоиск. ЗапрошенБдорожка не Еа 80H Таймаут. о не ответило0aaH о не готово A0bbH неkенБhка -- A0ф сбой nи опроса (sense) -- AN─ р13H% и ▄-ў и э юс5 ▄=56р14H: ╬-┬ RьvTЭти и ўпредоставляют │к двум Tам RS-232. Гвс 0:0400, хранятся базовые ╪а до 4-х RьuTов, однако POST Nеряет и аализирует лишь два bых Rьu Tа.См. Tы асинхрон{┘а - mаппарат{Яфейса.AH 5▀▀▀ J▀00H аализирqть коммуникационvT ─: DX = yTа (0-1) AL = ╒овые и cа аализации: ┌─7─┬─6─┬─5─┬─4─┬─3──┬─2──┬─1─┬─0─┐ │ -- бод -- │четность│стоп│╖ │ └E─┴─╥──┴───┴───┘ ╚═╦═╝ ╚═╦═╝ ║ ╚═══╩══ ╖слq ║ ║ ║ 10=7 ╒; 11=8 ╒ ║ ║ ╚ ═ стоп-╒: 0=1; 1=2; ║ ╚═ Фчетности ║ x0=~; 01=нечет; 11=чет ╚═ бод: 000=110; 100=12009 001=150; 101=24009 010=300; 110=48009 011=600; 111=9600 ╜: AH = (коммуникаций (см. |)▀▀▀ J▀01H послать 4 выбранvTRS-232 ─: DX = yTа (0-1) AL = посылаемый 4 ╜: AL сохранен. ░лен ╒7 в AH, то произошла hка, и AH (╒ы 6-0) = (линии связи (см. AH |)▀▀▀ J▀02H V4 выбранvTRS-232 ─: DX = yTа (0-1) ╜: AL = полученv4 AH ненулевой, ░произошла hка▀▀▀ J▀03H ╣(Tа связи ─: DX = yTа (0-1) ╜: AX = (Tа связи AH = (линии AL = (модема ▀ $▀ bit 7: timeout bit 7: received line detect signal bit 6: trans ┌reg empty bit 6: ring indicator bit 5: trans holding reg empty bit 5: data set ready bit 4: Ўdetect bit 4: clear to send bit 3: framing error bit 3: delta recv line signal detect bit 2: parity error bit 2: trailing edge ring detector bit 1: overrun error bit 1: delta data set ready bit 0: data ready status bit 0: delta clear to sendN─ ║е ў(╪а Tов RS-232, зе таймаута) и ▄-ў +ъ)З24ъ?W yЖ ▄=ЖЗр15H: <ый 5ATр15H обрабатывает специфические и A:ПодФнк: 00H Cass motor ON 80H Device Open 86H Wait 01H Cass motor OFF 81H Device Close 87H Move Extended Mem Block 02H Read cassette 82H Program terminate 88H Get Extended Mem Size 03H Write cassette 83H Event wait 89H Switch to Virtual Mode 84H Joystick 90H Device Busy Loop 85H SysReq key 91H Finish Interruptле: КассетwXопущены ╢краткости (мне не нужны, а вам?)AH 5▀▀▀ J▀80H iр. ╔, нич▒не делая. См. X90H и 91H. ─: BX = ID а; CX = ID Lа▀▀▀ J▀81H Закрыть р. ╔, нич▒не делая. См. X90H и 91H. ─: BX = ID а; CX = ID Lа▀▀▀ J▀82H оMу а. Нич▒не делает. См. 90H и 91H. ─: BX = ID а▀▀▀ J▀83H Ж╣события. ЗапЬтаймер и Ьпо истечении Явала. ─: AL = ФX: AL = 0: . Явал (и запЬтаймер) ES:BX = ╪Uьского ╓а. ╒7 в м ╓е ╤включен по истечении Явала. CX,DX = Явал в микросекундах (CX - старшая часть) AL = 1: отменЬожида}события.▀▀▀ J▀84H Обеспече}джойстика. ─: DX = ФX: DX = 0:  ие _и Возврат: AL = зя _ей (╒ы 7-4) DX = 1:  ─ы X,Y джойстика Возврат: AX = джойстик 'A', зе X (горизонталь) AX = джойстик 'A', зе Y (вертикаль) AX = джойстик 'B', зе X (горизонталь) AX = джойстик 'B', зе Y (вертикаль)▀▀▀ J▀85H Ча SysReq. я нич▒не делает. └ся Qем р09H Pнажатии и отпускании Чи SysReq. Идея состоит в том,  nонБ3а aхватывала р15H и выдавала Yункцию 85H, от2живать *е (нажата жотпущена) Чи SysReq. ─: AL = 0: SysReq нажата ('make') AL = 1: SysReq отпущена ('Ў')▀▀▀ J▀86H Ж╣. Циклит с разрешенными Qями до истечения Явала ╚. ─: CX,DX = сколько микросекунд ж╣до возврата к Uю▀▀▀ J▀87H aслать ╘extended-fи. ^ещает ╘fи в extended-fь и из нее (▌выше 1 мега╓а на компьютерах ▌286▐ ). ─: ES:SI => #а глобальuдескрипторов (GDT) - см. |. CX = счетчик aсылаемых 16-╒овых слов (максимум = 8000H = 32K) ╜: Carry-= 1 Phке. AH = 0 ~hки AH = 2 Qе по исключению AH = 1 ош. четности ▌ AH = 3 gate address line 20 failure $а GDT ╢X87H ES:[SI]+00H Фиктивvдескриптор (обнуляет Uь) ES:[SI]+08H дескриптор GDT (обнуляет Uь) ES:[SI]+10H дескриптор ╘а источника (см. |) ES:[SI]+18H дескриптор назя (см. |) ES:[SI]+20H Фовый 7╢ў (обнуляет Uь) ES:[SI]+28H стековый 7╢ў (обнуляет Uь) ; - Pмер GDT ╢р15H, X87H р_15_GDT label byte DB 8 dup(0) ;фиктивv DB 8 dup(0) ;GDT DW 0 ;"граница" исход{╘а SRC_LO DW ? ;24-╒овый ╪ SRC_HI DB ? DB 93H ;права │а (read/write data) DW 0 ;9 DW 0 ;"граница" целевого ╘а DEST_LO DW ? ;24-╒овый ╪ DEST_HI DB ? DB 93H ;права │а (read/write data) DW 0 ;9 DB 8 dup(0) ;code segment setup by ў DB 8 dup(0) ;stack segment setup by ў ; - ТPмерzGDTле: Qя запрещаются в Lе ^ещения ║х, " , ░ вы запускаете пачку конкурирующих Lов асинхронz`ачи, избегайте ^ещения больших объемов ║х. См. VDISK.█▀▀▀ J▀88H ╣>extended-fи. ╜: AX =  непрерывu1K ╘ов сверх 1M (1024K)▀▀▀ J▀89H Войти в :Protected (286 Virtual memory). хитрая штука, ░вы не знаете,  делаете. Лучше изучите эту ю по листингу ўжпо листингу VDISK.█. ─: ES:SI => 8-Б#а глобальuдескрипторов (GDT) (|) BH = /в IDT Гала bых 8 аппаратuQй BL = /в IDT Гала вторых 8 аппаратuQй ╜: AH = 0, ░не было hок ╞7w;ы изменяются. AX и BP теряются. 80286 ─ит в :Protected без прямого ╜а в :Real. $а GDT ╢X89H ES:[SI]+00H фиктивvдескриптор (обнуляет Uь) ES:[SI]+08H дескриптор GDT (аализирует Uь) ES:[SI]+10H дескриптор ╢IDT (аализирует Uь) ES:[SI]+18H дескриптор ╢caller DS (иниц. Uь) ES:[SI]+20H дескриптор ╢caller ES (иниц. Uь) ES:[SI]+28H дескриптор ╢caller SS (иниц. Uь) ES:[SI]+30H дескриптор ╢caller CS (иниц. Uь) ES:[SI]+38H временvўCS (обнуляет Uь)▀▀▀ J▀90H Цикл занятости а. Нич▒не делает. Я полагаю,  , ░ваши аалы - MS жDR, вы Йе aхватывать эту ю и заставЬ ее  -то делать. ─: AL = Фтипа а 00H =  ый ╕ 01H = ╕ета 02H = Ша 80H = сеть ES:BX => управляющий ╘сети fdH = запуск мотора ╕еты feH = O▀▀▀ J▀91H оQе. Нич▒не делает. Идея здесь - предоставЬмеханизм ╢обработчика а, Nерять занятость а. Х обработчик завершил обработку йа, он ЙЭqть эту ю, ╣знать 3е,  о свободно. ─: AL = Фтипа а (см. Yункцию 90H) AL = 00H - 7fH: Rьно Эуемые а AL = 80H - bfH: реентерабельwа (ES:BX => g║х)N─ ║е ў0 и ▄-ў З р ╒6 ║ ╗*┐@ р ╒!╗'╒2'║(╗*0┐ 2b/2 ▄=23р16H: 5Шы - Яфейс Pклад{уровня с Шой. Нажатия Чна самом деле обрабатываются асинхронно на заднем плане. Pнятое зе Чи обрабатывается Qем р09H и помещается в циклическую очередь. См. Шу AT о способах ускорения Шы и других сведениях.AH 5▀▀▀ J▀00H  (ожи╣) 2дующую нажатую Чу ╜: AL = ·4(░AL=0, AH -<ый Ф·) AH = СканФ ж<ый Ф·▀▀▀ J▀01H NерЬготовность 4а (и показать ▒, ░") ╜: ZF = 1 ░4не готов. ZF = 0 ░4готов. AX = Ъ╢X00H (но 4здесь не удаляется из очереди).▀▀▀ J▀02H  *е ┌-Ч. kЬ, Ъие ┌-Чи нажаты в ║й момент, находится ли Ша в *и NumLock, и т.п. ╜: AL = (Шы -- см. и Шы▀▀▀ J▀03H . частоту повторения и задержку. (11/15/85 ў) ─: AL = 05H (т.е. AX = 0305H) BL = частота: 0=30 повторений/сек,1=26...1fH=2. См. Шу AT BH = задержка (0=250мс, 1=500мс, 2=750мс, 3=1 секунда) ╜: (~)▀▀▀ J▀04H (9)▀▀▀ J▀05H ПоместЬФЧи в ╨Шы. (11/15/85 ў) ─: CL = 4· CH = сканФ(ж0, ░не ). ╜: AL = (: 0=успех; 1=aполне}╨а▀▀▀ J▀06H-0fH (9)▀▀▀ J▀10H  (ожи╣) Чу; ╢101-Чz(11/15/85 ў) ╜: AL = 4·(░AL=0, то AH - <ый Ф·) AH = сканФжпреобразqнv<ый Ф·▀▀▀ J▀11H Посмотреть Чу; аналог и 01 ╢101-Чz(11/15/85 ў) ╜: ZF = ZR = 1 ░Ча не готq ZF = NZ = 0 ░Ча готq AX - Ъ╢X10H, но Ча остается в ╨е.▀▀▀ J▀12H (┌-Ч; аналог и 02 ╢101-Чz(11/15/85 ў) ╜: AL = (┌и lock. См. и Шы ╢101-ЧzN─и э: 4ьvв/в ║е ў и ▄-ў 9 ▄ш@Е ╒) ╪ ▄= !р17H: Поддержка OаЭти и предоставляют │к Tам dых Oов (LPT1 и т.д.)╪а Tов Oов хранятся, Гвс 0:0408. См. ║е ўСм. Tы Oа о +ующем аппаратном Яфейсе.зя таймаута Oа Гинаются с 0:0478. [ь а - р05HAH 5▀▀▀ J▀00H [ать 4 ─: AL = ·4. См. !: Фы · DX = yOа (0,1 ж2) ╜: AH = 01H ░4не на[ан (hка таймаута) другие ╒ы - Ъв X02H (и *я)▀▀▀ J▀01H аализирqть TOа ─: DX = yOа (0,1 ж2) ╜: AH = Ъв X02H (и *я)▀▀▀ J▀02H ╣(Oа ─: DX = yOа (0,1 ж2) ╜: AH = и *я Oа B ║ J│ │ ║ ╙D┴╥┴╥┴─┴─┴╥╜ I║ ╚╦╝ ╚═ таймаут (AH & 01H) I║ ╚═ (не Эуется) I╚═ hка в/в (AH & 08H) ║ H ═ выбран (AH & 10H) (00H озГает офлайн) H ═ ~бумаги (AH & 20H) ║ ╚ ═ подтвержде}(AH & 40H) (40H = Pсоединен) ╚═ не занят (AH & 80H) 0 - озГает занятостьN─ ║е ў0 и ▄-ў &└ ▄=р18H: ▄-BASIC ═-точку ─а ╢Япретатора ▄-BASIC, лен{ на за;ирqнuкомпьютерах IBM. Клоны (родственники) не имеют BASIC в ▄-fи и ┤Эqть отдельную Mу, rGWBASIC. ░▄-ўне Йнайти ╕╢мки, он берет ═.  делает возможным ╢внешн▒модуля ▄-Scan изменЬ═", он указывал на н▒, ┴ывая ▒Pсбое жотсутствии ╕ов.O─ ║е ў0 и ▄-ў #ю%Ф │ ▒!╛>▄=р19H: Гальvмчик (Bootstrap Loader) ═рассматривается SPOST , попытаться мЬи ┐Ъой-либо Ф"Галь{┴q" на ╕ете ж ом ╕е. ║е в 6е 1 дорожки 0 головки 0 ╕овода 0 ╢bого ответивш▒ ╕а (╕еты ж ого) загружаются по абсолютному ╪у 0:7c00, и е `ается по му ╪у. ░опрос ╞х ╕ов неудачен, е `ается на Qе р18H (запЬ▄BASIC). На  ом ╕е, Фв "Пм 6е" в действительности kяет активv@╕а, а изагружает и ╛Пй 6╢ @а. `ает е активznонz3е ╕а. См. #у @ов ╕а о Rьности мки с  ого ╕а. См. $у Пго 6а о е Пго 6а ╢э. ле: Вы Йе Эqть 5, aмЬэS изменения Ъих-либо зй в Списке sжиu^енuў (не забудьте Ьпо ╪у 0:0472 зе 1234H). Saмки эPмет во внима}╞ваши изменения.N─= и ▄-ў  ъ ┴ъъ ъ'ъ+ъ2ъ5┴5 ▄=56р1aH: ╬-┬╢╚ 5предоставляет │к 3ным часам. PC ўработает со "счетчиком тиков" -  м 55-мс Явалов, прошедших с момента включения жсброса PC. Aўпредоставляет !│к зям часов реаль{╚, Не постоянно обновляются независимо от работы Lора и хранятся в Ї-fи компьютера AT.AH 5▀▀▀ J▀00H  часы (счетчик тиков) ╜: CX,DX = счетчик тиков с момента сброса. CX - старшая часть. AL = 0, ░таймер не aполнялся за 24 часа с момента сброса. ле: часы обновляются каждые 1193180/65536 (ў 18.2) тиков в сек. тиков в секунде ў 18 тиков в минуте ў 1092 тиков в часе ў 65543 тиков в сутках ў 1573040▀▀▀ J▀01H Ьчасы (счетчик тиков) ─: CX,DX = счетчик тиков. CX - старшая часть зя.▀▀▀ J▀02H A ╟из "постоянu" (Ї) часов реаль{╚ ╜: CH = часы в Фе BCD (Pмер: CX = 1243H = 12:43) CL = минуты в Фе BCD DH = секунды в Фе BCD ╜: CF = 1, ░часы не работают▀▀▀ J▀03H AЬ╟на "постоянu" (Ї) часах реаль{╚ ─: CH,CL = часы,минуты в Фе BCD DH = секунды в Фе BCD DL = 1 ╢опции "единиц светового дня"▀▀▀ J▀04H A дату из "постоянu" (Ї) часов реаль{╚ ╜: CH = столетие в Фе BCD (Pмер: CX = 1987H = 1987) CL = год в Фе BCD DH = месяц в Фе BCD (Pмер: DX = 0312H = 12-е марта) DL = день в Фе BCD ╜: CF = 1, ░часы не работают▀▀▀ J▀05H AЬдату на "постоянu" (Ї) часах реаль{╚ ─: CH,CL = столетие,год в Фе BCD DH,DL = месяц, день в Фе BCD▀▀▀ J▀06H AЬсигнал часов реаль{╚. В указанное ╟ └ся Uьская Mа по ═у Qя р4aH. Лишь oсигнал Й╧активен в Ымомент ╚. ─: CH,CL = часы,минуты в Фе BCD DH = секунды в Фе BCD ╜: CF = 1, ░часы не работают жсигнал уже активен▀▀▀ J▀07H AсбросЬсигнал часов реаль{╚. Wвам отменЬ oсигнал `кой другого.N─ $а fи Ї ║е ў(0:056c) и ▄-ў  4l ▄=р1bH: Qе от Шы ═(0:006c) Япретируется, Хўраспознает нажатие Чи яЎ. р1bH bоГально на IRET, но эт ▒на локальную Mу, которая взводит внутренний . э╟от ╚ Nеряет и действует в +ии с ленным :ом. См. ь33H и р23H о том, Ъэобрабатывает яЎ. в tи ║х ў(0:0471) взводится Pbом распознавании нажатия яЎ, но он ниХне сбрасывается, ░вы не сделаете  сами. Вы Йе Эqть в родительском Lе,  kЬ, был ли порожденvLснят  яЎ.N─= и ▄-ў > ЖЖ=р1cH: Uьское Qе по таймеру ═(0:0070) ўберет по каждому тику аппаратuчасов (каждые 55 миллисекунд; Pблизительно 18.2 раз в секунду). bоГально он  на IRET, но Й╧изменен Uьской Mой, ╪qть фоновую Mу Uя, базирующуюся на таймере. Поскольку Mа р1cH ╛ся во ╟низкоуровневого аппарат{ Qя, вы ┤помнЬ,  3а еще не сбросила Р Qй, и потому другие аппаратwQя, в том чи2Qе от Шы, не будут происходЬPработе р1cH (т.е. вы не получите ╬а Uя). Большинство popup-Mпредпочитают aхватывать ═р08H , ┴ывать bоГальv═, а иуже выполнять nи, зависящие от ╚, Sтого Ъўзакончит свою обслугу. См. р08H насчет предложений и рекомендаций.N─= и ▄-ў Й ▄ ╜=р1dH: ь ╦cов ═(0:0074) на совокупность ╦cов, Эуемых Qем р10H ╢ки ;ов ╦Ра и неНх зй ║х ўPаализации :а ╦. И,▌-резидентную версию #ы и модифицирqть cы, изменЬработу неНх u:ов. Д, "им способом Уа э"Mode" сдвигает влево жвправо. См. #у cов ╦ по поводу $ы этих cов.N─= и ▄-ў О╡=р1eH: ь cов ╕еты ═(0:0078) на #у cов ╕еты, которую 5Бслужба ўр13H Эует ╢различunй с ╕етами. В эту #у ─ят "ие зя, Ъ"head-settle time" и "step rate time", оказывающие огромное влия}на скорость nй в/в ╕еты. И,▌-резидентную версию #ы и модифицирqть неНе ее cы, изменЬотдельwдетали nй с ╕етами. э создает модифицирqнную версию #ы ╢улучшения производительности ╕ет. 'анно, но эвосстанавливает нормальw(╙медленw) зя, Х╔е PкладzMе. См. #у cов ╕еты о $е #ы.N─= и ▄-ў .&╚)Й=)*р1fH: ь графических 4ов ═(0:007c) на #у, kяющую изображения старших 128 4ов (Фы ·128-255). Ее Эует ▄-ў, Х┬ит на 4ы в графическом (с ╒овой разверткой) :е. Pзапуске 3ы ь тся на F000:0, " старшие 128 4ов в графическом :е выдаются Ъслучайv"мусор". Уа э3.x "GrafTabl" ЙЭqться ╢мки #ы старших 128 4ов и +ующей aки дан{═а. Вы Йе ,и Ьвашу собственную ▌-резидентную #у, Д, предоставЬкурсив ╢графики. #а состоит из 128 групп по 8 ╓в группе. Ы╓представляет 8 точек по горизонтали, Pчем bый ╓отвечает верхней %е точек, составляющих изображе} 4а. Д, kе}4а "Л" могло бы ╧2дующим: B /_в_#е + 0: ║ ■ ■ ■ ■ ■ ■ ║ = 010 = 7e hex ═╗ /_в_#е + 1: ║ ■ ■ ■ ■ ║ = 00100 = 3c hex ║ /_в_#е + 2: ║ ■ ■ ■ ■ ║ = 01101100 = 6c hex ║ /_в_#е + 3: ║ ■ ■ ■ ■ ║ = 01101100 = 6c hex ╠═ ═╗ /_в_#е + 4: ║ ■ ■ ■ ■ ║ = 01101100 = 6c hex ║ ║ /_в_#е + 5: ║ ■ ■ ■ ■ ║ = 01101100 = 6c hex ║ ║ /_в_#е + 6: ║■ ■ ■ ■ ■ ║ = 11001110 = ce hex ║ ║ /_в_#е + 7: ║ ║ = 0 = 00 hex ═╝ ║ C ║1 ╔═╝1 ! ╔═╩ ═╗ 8-╓qя Rьность: 7еH,3cH,6cH,6cH,6cH,6cH,ceH,00H стояла бы в #е по 0ению, +ующему 4у "Л". "ЪФ·буквы 'Л' равен 139, а #а Гинается ╢4а с Фом 128, ╤12-я группа из 8 ╓(/- 88 ╓от Гала #ы). ле: Младшие 128 4ов хранятся в ▄-#е по ╪у f000:fa6e. не указано в документации, но, похоже, ╪остается постоянным во ╞х IBM-версиях ▄. ╪жестко заФирqн в Фах Mы р10H, " вы не Йе Эqть свою #у ╢младших 128 4ов (░у вас не √, Нй W akять весь набор 4ов).N─ р10H5 и ▄-ў ,ЭЮ3┬Яа3│╖3╡и3╢┤к▒3 Кн x3╔ л ╣3 ╝ о ~3 ╜ п г ░ в3 ┐ ▓ ╦3 ╗еб3┴жд3 ╛з й3 └  2 @ ь $║х эи ў э" ▄-ў▐/▀▌▐▀▌▐ ▐ pя ▌▐ AT типы ╕ов ▌▐ ╘я ом ╫ы а ▌▐ #а @ов ╕а ▌▐ даты/╚ ▌▐ Табл. cов ╕еты ▌▐ ╘cов ч ▌▐ Табл. cов тв.╕а ▌▐ <ый @ ▌▐ ▌▐ нок а Пй 6 ▌▐ :ы ╦ ▌▐ йа #а ц ▌▐ tи ║х√ ▌▐ ╫а Окруже}э ▌▐ ╫ы а ▌▐ 1*я р. Фы hок э ▌▐ Табл. ╦cов ▌▐ hки ▓а р. Фы 'ан ▌▐ ▌▐ ╘cов ў ╘║х 'аны ▌▐ и (а Шы ▌▐ Дескриптор x Фонты Фовой '. ▌▐ СканФы Шы ▌▐/ ▌▐ ▌▐ ▀инф. а ╘управл. fью ▌▐ Їсхема fи ▌▐ ▀440cH gы ╘инф. ╕а ▌▐ Оборудq}(р11H) ▌▐ ▀440dH gы нок EXE ▌▐ ╘▄-Scan ▌▐/▄▌▐▄▌ и э и ў Темы помощи Общий б  = ╣=kFlFm8 ╣-ЯF"'''L&'{<'Ь(Префикс M{7а (▐) ХMа Гинает выполне}, DS:0 и ES:0 указывают на В ▐Mы. Юя ▐WвыделЬимена ов и опции из %и У, узнать объем │zfи, kЬокруже}и т.д.0. ╖.е▀ ▀ B▀ ┌─┐ +0 2 │р20H│ EXE-Mы могут делать сюда JMP жRET ╢╜а ├───┴───┤ +2 2 │MemTop │ вершина │zfи 3ы в eах ├───┼───┘ +4 1 │ │ (9ируется) ├───┼─┬─┐ +5 5 │CALL 0. 7│ FAR CALL к диспетчеру й э └───┼───┴───┼───┴───┘ +6 │ Avail │ │w╓ы в Mном 7е ┌───┴───┼───┼───┐ (╢а є)+0aH 4 │0. 7│ ╪пя. См. р22H ├───┴───┼───┴───┤+0eH 4 │0. 7│ ╪обработки яЎСм. р23H ├───┴───┼───┴───┤+12H 4 │0. 7│ Обработчик критич. hок. См. р24H ├F─┴ ─ ─┐+16H 16H │ 9Бtь э │ ├───┴───┼F─ ─┴───┘+2cH 2 │EnvSeg │ 7v╪окружения э ├F─ ─ ─┐+2eH 2eH │ 9Бtь э │ ├E─ ─┴───┤+5cH 10H │ ир. обл. парам.1 │ Ъв х╢1-го cа Уы ├E─ ─┴───┤+6cH 14H │ ир. обл. парам.2 │ Ъв х╢2-го cа Уы ├───┼F───┴ ─ ─┴───┘+80H 1 │len│ ╖tи UPA (с ╪а 81H) ├───┴ ─ ─ ─┐ !/умалчиваемой ы+81H 7fH │ неир. обл. парам.│ 4ы из Уz%и э └E─ ─┴───┘ (исключая директивы ]ия)100H# >префикса M{7аN─ь26H ,▐ 4bH ч Запуск и пе ╘и / аE ╖D ╖Ex&x1 @ $а а pя0. ╖.е▀ ▀ B▀ ┌─┐ +0 8 │'F' 'I' 'L' 'E' 'N' 'A' 'M' 'E'│ дополнено справа пробелами ├F───┼E───┘ +8 3 │'E' 'X' 'T'│ дополнено справа пробелами ├───┼───┼───┘+0bH 1 │atr│ ╫а ├───┴─ ─ ─ ─┐+0cH 0aH │ 9 │ ├───┴───┼───┴ ─ ─ ┴───┘+16H 2 │ time │ ╟создания/модификации в е filetime ├───┴───┤+18H 2 │ date │ дата создания/модификации в е filetime ├───┴───┤+1aH 2 │ClstrNo│ yГаль{Ца ║х (связь с ц) ├F─┐+1cH 4 │ >а │ >а в ╓ах └F───┴───┘N─ь11H Найти 1-й  х ц Главное К и э d8 аD╖(- а/6а9+dB9 :╘я ом (х) хЭуется в традиционном овом в/в и с▒дня Pменяются редко. <ый хЭуется, Хв ┴ове ╫а .0. ╖.е Поля rго х▀ ▀ B▀ ┌───┐ +0 1 │Drv│ ID ╕а (до открытия: 0=умалч.,1=A,..; S: 0=A,1=B,..) ├───┴─┐ +1 8 │'F' 'I' 'L' 'E' 'N' 'A' 'M' 'E'│ га. Выравнено влево, ├F───┼E───┘ справа дополнено пробелами +9 3 │'E' 'X' 'T'│ Расшире}. Выравнено влево, ├───┴───┼───┘ справа дополнено пробелами+0cH 2 │CurBlk │ ий y╘а ├───┴───┤+0eH 2 │RecSize│ >логической ки (╓) ├───┴───┼───┬───┐+10H 4 │file size │ ╖а (младшее bым) ├─┼───┴───┘+14H 2 │ date │ дата модификации, см. filetime ├F─┐+16H 0aH │ За9ирqнБtь э │ ├───┴───┼EF───┴───┘+20H 2 │CurRec │ относительvyки в ╘е (0-7fH) ├F───┬ ─ ┐+21H 4 │RandomRec | | относ. yки в е (Random-ы) └F───┴ ─ ┘ (Sдний ╓Эуется P25H ╖открытого х >е ки, меньшем 64)ля: `открытием а вы ┤предоставЬполе Drv и 11 ╓имени а и ▒расширения (Pмер: db 0,'MYFILE TXT'), и оставЬместо ╢того, эзаполнила остальwполя. 'Неоткрытый' х- bые 12 ╓(Drv, Filename, Ext) плюс место ╢ остальuполей. В 'открытом' хостальwполя заполнены. ░поле Drv было нулевым, эзаполняет ▒yом ╕а ╢▒а (0=A, 1=B, и т.д.).0. ╖.е Поля <ого х▀ ▀ B▀ ┌───┐ -7 1 │ф│ , указывающий <ый х ├───┴─┐ -6 5 │ 9э │ ├───┼E───┘ -1 1 │ │ ╫а ├───┴ ─ ─ ─ ─┐ +0 25H │ Поля rго х│ остальwполя - те же,  и выше └───┴ ─ ─ ─ ┴───┴───┘ля: ╞и, Не Pнимают х, Pнимают !<ый х. ╪ хостается тем же; ░х-7 -0ф, то х- <ый. Эуйте <ый х╢спецификации ╫а а , Нй вы открываете, создаете, aименовываете жищете с помощью х-й.N─ Традиционvх-jv╬-┬ и э Ю O"D=$D'eB' (╫а ╫а - o╓╒овых ов, ассоциирqнvс каждым ом и хранящийся в е pя . Бы'ый справочник популярu╫ов: Атр. зе ▀ A▀ 0 обычv 3 - е, скрытый, 3v("овы IBMBIO.єи IBMэ.є) 8 метка тома (ЙнаходЬся в Пм pи) 10H pе (Щ) 20H обычv, не подвергнутый откату Уами BACKUP жXCOPY ▀ A▀B║ │a│d│v│s│h│r║╙─┴─┴D┴D╜ ╒2 маска I║ ╚═ 0: 1= е (нельзя обновлять жудалять) (01H) I╚═══ 1: 1=скрытый) (02H) ║ H═ 2: 1=3v& (04H) H═ 3: 1=метка тома& (08H) ║ ╚ ═ 4: 1=подpя (10H) ╚ ═ 5: архив. 1=копия а НЕ создавалась (20H) и э11H и 4eH поиска в Ще позволяют указать oж ╒ов ╫а (скрытый, 3v, pе, архив), ░вы организуете поиск ов с любым из указанu╫ов (включающий поиск). ░вы опите Л╒, то , содержащий ╒╫а, не ╤Е. Д, ░вы хотите отыскивать ы pя, Иуказать ╫10H, найти ╞ы, включая pя. ивы ┤сами отбрасывать ╞ки, не являющиеся pями (у них ╒4=0). ░вы специфицируете ╫с ╒ом "метка тома", поиск ╤исключающим, т.е. ╤возвращена лишь кь с меткой тома (░есть). ь43H (CHMOD) Wизменять ╒ы - я, скрытого, архив{ и 3{а. Нельзя изменЬ╒pя, но ИвключЬж удалЬдругие ╒ы ╫а pя──просто ┴овите Fn 43H , задав ╫со ╞ми требуемыми ╒ами ╢pя, исключая ╒4.N─ и овой 3ы) и э э8IL1Эg6Ь╘я fью (MCB) - НЕДОКУМЕНТИРОВАННЫЙ управляющий ╘, Нй эЭует P =и, модификации и освобождении ╘ов 3zfи.0. ╖.е▀ ▀ B▀ ┌───┐ ┌── 'M'(4dH) - за этим ╘ом есть еще ╘и +0 1 │Тип├──┴── 'Z'(5aH) - ║й ╘является Sдним ├───┴───┐ +1 2 │Владелец eвладельца (╢FreeMem); 0 = владеет собой ├───┴───┤ +3 2 │>│  eов в м ╘е =я ├F─ ─ ─┐ +5 0bH │за9ирqно │ └E─ ┴───┘+10H ? ╘fи Гинается здесь и едлину (>*10H) ╓. eпо му ╪у ╔я 48H Alloc.ля: ╘и fи ┼выравнены на границу eа ("7_╘а") ╘и M-типа: 2дующий ╘находится по (7_╘а+>):0 ╘и Z-типа: (7_╘а+>):0 = Тfи (намек: a000H=640K)  Sи 4bH Exec, Z-╘Гинается с ( ▐-1):0 нового LаN─ и я fью э $ы ║х  ы:9@[)╒/ыF-10ыG09'6╒ @9@[@ гB@ A╘Юи 'аны э3.x ╘Юи 'аны ╢й э38H и 65H0. ╖.е▀ ▀ B▀ ┌─┐ +0 2 │DateFmt│ даты: 0=USA(мдг), 1=Европа(дмг), 2=Япония(гмд) ├F ─┐ +2 5 │'Ь' 00H │ ∙ 4валюты ├───┴───┼F───┘ +7 2 │',' 00H│ ∙?ь тысяч ├───┴───┤ +9 2 │'.' 00H│ ∙десятичv?ь ├───┴───┤+0bH 2 │'-' 00H│ ∙?ь ╢даты ├───┴───┤+0dH 2 │':' 00H│ ∙?ь ╢╚ ├───┼───┘+0fH 1 │ 0 │ валюты: 0="$123.00"; 1="123.00$"; ├───┤ 2="$ 123.00"; 3="123.00 $"; 4="123$00"+10H 1 │ 2 │  зГащих десятичuцифр в валютuзях ├───┤+11H 1 │ 1 │ ╚: 0=12-часовые часы, 1=24-часовые часы ├───┼───┬─┐+12H 4 │ 0. 7│ ╪┴qCaseMap (см. ле) ├───┴───┼───┴───┘+16H 2 │',' 00H│ ∙?ь списка ║х ├F─┐+18H 08H │ за9ирqно │ └EF───┴───┘20H >╘а Юи 'аны ╢э3.xля: ┴ов CaseMap WназГЬ"веса ·" 4ам с Фами выше 80H. Д, Уа эSORT Эует CaseMap, назГЬ4ам Г,Д,Е и т.д. те же веса ·,  и 4у 'A', ╢целей сортировки (в стандарте ·эти 4ы имеют другое графическое предста╩и +уют национальным вариациям буквы A. - Pм. aв.). ╢различuнациональuалфавитов существуют разw┴овы CaseMap. Эqть ╪┴qCaseMap: 1. поместите преобразуемый 4в ;AL 2. выполните FAR CALL на указанv╪ 3. преобразqнv4╔ся в AL 4. зя ╞х ;ов (исключая AL) сохранены ╘Юи 'аны различается в э3.x и э2.x (см. |). Убедитесь,  вы знаете, Ъая версия эактивна. См. ю э30H э2.x ╘Юи 'аны ╢и э38H0. ╖.е▀ ▀ B▀ ┌─┐ +0 2 │DateFmt│ даты: 0=USA(мдг), 1=Европа(дмг), 2=Япония(гмд) ├───┴ ─ ┤ +2 ? │'Ь' 00H│ ∙ 4валюты (^. длины) ├───┴ ─ ┤ +? ? │',' 00H│ ∙?ь тысяч ├───┴ ─ ┤ +? ? │'.' 00H│ ∙десятичv?ь ├───┴ ─ ┴ ─ ─┐ +? ? │ за9ирqно │ └───┴ ─ ┴ ─ ┴───┴───┘20H$ >╘а Юи 'аны э2.xN─и э38H 65H Ф'аны и э 9[? Фы 'ан Hex Dec 'ана Keyb?? Дата ╟ валюты DS ▀ ▀▀▀ ▀ ▀ ▀  ▀ ▀ ▀▀ 3dH 061 Australia DD-MM-YY 13:00:00 $1,000.00 , 20H 032 Belgium DD/MM/YY 13:00:00 1 000,00 F ; 2 002 Canadian-French YY-MM-DD 13:00:00 1 000,00 $ ; 2dH 045 Denmark DD/MM/YY 13.00:00 1.000,00 DKR ; 166H 358 Finland DD-MM-YY 13:00:00 1 000,00 MK ; 21H 033 France keybFR DD/MM/YY 13:00:00 1 000,00 F ; 31H 049 Germany keybGR DD.MM.YY 13.00.00 DM1.000,00 ; 27H 039 Italy keybIT DD/MM/YY 13:00:00 1.000,Lit. ; 3ccH 972 Israel DD/MM/YY 13:00:00 Щ 1,000.00 , 311H 785 Middle East DD/MM/YY 01:00:00 PM 1.000,000 $ ; 1fH 031 Netherlands DD-MM-YY 13:00:00 Я1.000,00 ; 2fH 047 Norway DD/MM/YY 13.00.00 KR 1.000,00 ; 15fH 351 Portugal DD/MM/YY 13:00:00 1.000$00 ; 22H 034 Spain keybSP DD/MM/YY 13:00:00 1.000,00 Ю ; 2eH 046 Sweden YY-MM-DD 13.00.00 SEK 1.000,00 ; 29H 041 Switzerland DD.MM.YY 13.00.00 Fr 1,000.00 , 2cH 044 United Kingdom keybUK DD-MM-YY 13:00:00 Ь1,000.00 , 1 001 United States MM-DD-YY 01:00:00 PM $1,000.00 ,N─ьs 38H (Инф. 'аны) 65H (<ая инф. 'аны) и э "эC3<▒5 к$!к##▓*3B* +╘Юи ╕а ╘Юи формируется НЕДОКУМЕНТИРОВАННОЙ ей э32H . ╞сведения, содержащиеся здесь, ИV, прочитав Пй 6 и ┴вав ряд других й эс неНми вычи2ниями; однако ╘ Юи удобен тем,  он -╞║е вместе.0. ╖.е▀ ▀ A▀ ┌───┐ +0 1 │drv│ y╕а (0=A, 1=B и т.д.) ├───┤ +1 1 │ │ yсуба из нка а ├───┴───┐ +2 2 │ │ SectorSize: >6а в ╓ах ├───┼───┘ +4 1 │ │ 6ов на Ц-1 (макс. 6в Це) ├───┤ +5 1 │ │ сдвиг Ца в 6(Ц= 2№ 6ов) ├───┴───┐ +6 2 │BootSiz│ 9u6ов (корневых; Вкорня) ├───┼───┘ +8 1 │ │  #ц ├───┴───┐ +9 2 │MaxDir │ макс.  ов в Пм pи ├───┴───┤+0bH 2 │DataSec│ y6а Ца #2 (1-й Ц║х) ├───┴───┤+0dH 2 │HiClust│ ╞го Цов +2 (наивысший yЦа) ├───┼───┘+0fH 1 │ │ FatSize:  6ов, занимаемое одzц ├───┴───┐+10H 2 │RootSec│ # 6а Гала Пго pя ├───┴───┼─┐+12H 4 │ 0. 7│ ╪нка а ├───┼F───┘+16H 1 │ │ ╓дескриптора x ├───┤+17H 1 │ │ │а: 0, ░был │к у ├───┴───┬─┐+18H 4 │ 0. 7│ ╪2дующ▒╘а Юи ╕а └F───┴───┘ (0fH, ░╘- Sдний)N─ь32H Юя ╕а' и э EEB Юя ▀об е НеНе Xи 44H (▀) Эуют ;DX в "ой форме: 1 1 1 1 1 1 ╔ ═╦═ 0-5 (P╒е 7=0) ID ╕а: 0=A,1=B,...╓5┬4┬3┬2┬1┬0┬9┬8╥7┬6┬5┬4┬3┬2┬1┬0╖║ │I│ 9 ║d│e│b│ │C│N│O│I║╙─┴╥┴G┴G╨D┴─┴D┴╥╜ ╒ маска ║ ║ ║ ║ ║ H═ 0: 1= Сьное ─ное р. (0001H) ║ ║ ║ ║ H═══ 1: 1= Сьное ╜ное р. (0002H) ║ ║ ║ ║ ║ ╚═ 2: 1= нулевое о (0004H) ║ ║ ║ ║ ╚═ 3: 1= часы (0008H) ║ H ═ 5: 1= двоичv:; 0=· (0020H) ║ ║ ╚ ═ 6: 1= ~EOF; 0=EOF P╬е (0040H) ║ ╚═ 7: 1= о; 0=  (0080H) ╚═ 14: 1= %и ▀Pняты (4000H)' 0= %и ▀нельзя обработатьM─ь44H ▀1 и э  2ы<Es8╩ ╩%╩6( y5D yFEFs'F yBF G▀440cH gы Описывается $а gов ║х ╢и э3.3 44H P AL=0cH и ╢▓ов - ╢й ▀с Фовыми &ами . ╔8═╗ ║ AX=440cH, CL=4aH/4dH/6aH Выбор/Стоп/Опрос Фовой '. ║ ╚8═╝0. ╖.е▀ ▀ B▀ ┌─┐ +2 2 │ 02 00 │ ╖gа ├───┴───┤ +4 2 │CodePag│ Ф&ы └───┴───┘ ╔,═╗ ║ AX=440cH, CL=4cH Гать подг. Фовой '. ║ ╚,═╝0. ╖.е▀ ▀ B▀ ┌─┐ +2 2 │ 00 00 │ и ├───┴───┤ +4 2 │ │ ╖остатка gа в ╓ах ├───┴───┤ +6 2 │ │  Sдующих Фовых &(n) ├───┴───┤ +8 2 │ b5 01 │ bая Ф. '. (Д, 15bH = 437 = USA) ├───┴───┤ +0aH 2 │ │ Вторая Фqя '. ├───┴───┤ . | | . ├───┴───┤ . +8 2 │ │ N-я Фqя '. └───┴───┘ В $е Й╧до 12 полей 'CodePage', в зависимости от зя 'MaxFonts', указан{Pинсталляции ▓а. См. Config.Sys зе CodePage=0fH (-1) ,  фонт не нужно готовЬ. ╔(═╗ ║ AX=440cH, CL=6bH (Query Prepared List) ║ ╚(═╝2дующий g║х ╔ся в DS:DX PCL=6bH.0. ╖.е▀ ▀ B▀ +0 2 ╖списка в ╓ах +2 2 счетчик аппаратuФовых &(n) +4 2 аппаратБФqя '. 1 +6 2 аппаратБФqя '. 2 . : +? 2 аппаратБФqя '. N +? 2 счетчик подготовленuФовых &(m) +? 2 подготовл. Фqя '. 1 +? 2 подготовл. Фqя '. 2 . : +? 2 подготовл. Фqя '. M ╖возвращаемого gа Й╧до 56: до 12 аппаратuФовых & и до 12 подготовленuФовых &, в зависимости от зй 'HwCp#' и 'MaxFonts', указанuPинсталляции ▓а. См. Config.SysN─ь44H ▀ ▓ы  Config.Sys и э  E%s.░#м?$ мB░/B▒7RОcsСEСs@С Т▀440dH gы @описывает три $ы gов ║х ╢Yункций ▀ Dos Fn 44H PAL=0dH, а !╢▓ов , поддерживающих обобщенv▀. ╔2═╗ ║ AX=440dH, CL=40H/60H (╣/. cы р.) ║ ╚2═╝0. ╖.е▀ ▀ B▀ ┌───┐ +0 1 │ │ Специальwи ├───┤ +1 1 │ │ Тип а (╔▓) ├───┴───┐ +2 2 │ │ ╫ы а (возращает ▓) ├───┴───┤ +4 2 │ │  цжндров (╔▓) ├───┼───┘ +6 1 │ │ Тип x ├───┴ ─ ┬ ─ ┬───┐ +7 1fH │ │ DeviceBPB ╘BPB +12H ╓(см. |) ├───┴ ─ ┴ ─ ┴───┤+28H ? │ │ Схема дорожки (^енzдлины, см. |) └ ─ ┴ ─ ┴ ─ ┴ ─ ┘┌─┐│ Спец. и │ ╒овое поле. ╢Фа действия 60H (╣cы р.)└─┘ kен ╒0: ╒0=1 извлечь BPB в е йа а 02H (По'оЬBPB) 0 извлечь умалчиваемый BPB (Ъ╢. cы а) ╢Фа действия 40H (. cы р.) kены три ╒овых поля: B ║0 0 0 0 0│ │ │ ║ ╙G┴─┴─┴D╜ ╒ H═ 0: 1=вернуть DeviceBPB в е Build BPB йа р. ║ ║ 0=Эqть DeviceBPB из gа Ъе ║ ╚═══ 1: 1=игнорирqть ╞поля в gе, кроме Схемы дорожки ╚═ 2: 1=╞6ы на дорожке имеют oи тот же >┌ ─┐│ Тип р. │ 00 = 320/360K 5-1/4 ╕ета 05 = фиксирqнv╕└ ─┘ 01 = 1.2M 5-1/4 ╕ета 06 = ленточное о 02 = 720K 3-1/2 ╕ета 07 = прочие 03 = 8-дюймqя oарzплотности 04 = 8-дюймqя двойzплотности┌─┐│ ╫р. │ ╒овое поле с двумя kенными ╒ами:└─┘ B ║0 0 0 0 0 0│ │ ║ ╙G┴G┴╥┴╥╜ ╒ ║ ╚═ 0: 1=носитель несъемv; 0=носитель съемv ╚═══ 1: 1=смена ╕ет поддерживается; 0=не поддерживается┌─┐│  цжндров │ ╔максимальное  цжндров, поддерживаемое└─┘ физическим ом независимо от ▒x.┌─┐│ Тип x│ задает тип x╢Типа а, поддерживающ▒└─┘ разwносители. 1.2M р.: 0=1.2M; 1=360K┌ ─┐│ DeviceBPB │ 31-╓qя $а, kенБ|:└ ─┘0. ╖.е▀ ▀ B▀ ┌─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┐ +0 0dH │ обычvBPB ── "ой же, Ъ╢6а мки │ ├───┴ ─ ┼ ─ ┴ ─ ┴ ─ ┼ ─ ┴ ─ ┴ ─ ┴ ─ ┴ ─ ┴ ─ ┴ ─ ┴ ─ ┴ ─ ┴───┘+0dH 2 │TrkSect│ 6ов на дорожку (цжндр) ├───┴───┤+0fH 2 │heads │ головок (поверхностей) на е ├───┴───┼─┐+11H 4 │hidden sectors │ 6ов, не Эуемых ▓ом (@ы) ├F───┴───┤+15H 4 │ 9 │ ├E─┐+19H 6 │ 9 │ └E───┴───┘ 1fH ╖╘а DeviceBPB (31 ╓)┌─┐│ Схема дорожки │ поле ^енzдлины, описывающее физическую $у└─┘ 6ов на дорожке ╕а. См. !р13H Y. 05H.0. ╖.е▀ ▀ B▀ ┌─┐ +0 02H │SectCnt│ (N) ╞го 6ов на дорожке (Д, 0fH) ├───┴───┼─┐ +2 4 │Sec1no │Sec2siz│ yи >6а (Д, DW 1,200H) ├───┴───┼───┴───┤ +6 4 │Sec2no │Sec2siz│ yи >6а (Д, DW 2,200H) ├───┴───┼───┴───┤ : ├───┴───┼───┴───┤ +? 4 │SecNno │SecNsiz│ yи >6а (Д, DW 0fH,200H) └F───┴───┘ ░╒2 Специальuй =1, ╞6ы д.б. од{>а. ▓ы эне хранят "ую #у ╢каждого логического а. ┴ов ▀. cы необходимо осуществлять, Х изменяются ╫ы x. ╔.═╗ ║ AX=440dH, CL=41H/61H ( /Zдорожку) ║ ╚.═╝0. ╖.е▀ ▀ B▀ ┌───┐ +0 1 │ 0 │ специальwи (┼0) ├───┴───┐ +1 2 │head │ головка  я/ки ├───┴───┤ +3 2 │track │ дорожка (цжндр)  я/ки ├───┴───┤ +5 2 │sector │ Гальv6(от 0: 61=0, 2=1...) ├───┴───┤ +7 2 │SectCnt│ счетчик 6ов (от 0; 8 ╢9-сект. дорожки) ├F─┐ +9 1fH │0. 7│ ╪╨а Uя └F───┴───┘ ╔3═╗ ║ AX=440dH, CL=42H/62H (ир/NерЬдорожку) ║ ╚3═╝0. ╖.е▀ ▀ B▀ ┌───┐ +0 1 │ │ специальwи (см. |) ├───┴───┐ +1 2 │head │ головка ├───┴───┤ +3 2 │track │ дорожка (цжндр) ╢ир/верификации └───┴───┘┌─┐│ специальwи │ ╒овое поле. kен ╒0:└─┘P─е: ╒0=0: ирqть дорожку ╒0=1: NерЬ, Эуется ли необычБ$а дорожкиP╜е: ╒0=0: необычБ$а поддерживается; ╘"Схема дорожки" из и . cы (CH=40H) отражает $у ╒0=1: необычwсхемы дорожки не PемлемыN─ь44H ▀ ▓ы  и э  /L ╣EЭ* Я ╣4Э/L*L3* B* +╘cов ч(Exec Parameter Block - EPB) ╘cов ч╢ь4bH (PAL=0)0. ╖.е▀ ▀ A▀ ┌─┐ +0 2 │ │ 7окружения (0=на2дqть ее) ├F─┐ +2 4 │ 0. 7│ ╪Уz%и ╢помещения в ▐+ 80H ├───┴───┼───┴───┤ +6 4 │ 0. 7│ ╪╘а х╢помещения в ▐+ 5cH ├───┴───┼───┴───┤ +0ah 4 │ 0. 7│ ╪╘а х╢помещения в ▐+ 6cH └F───┴───┘ 0eH ╖╘а EPB ╢чPAL=0ля: подготовьте окруже}и ите EPB+0 на ▒e(жпоместите 0 в EPB+00, заставЬ┴ываемый Lуна2дqть ее окруже}) сформируйте Уную %у типа Lstring, `аваемую в ┴ове. ░она не , она должна содержать: 00H 0dH (См. ▐/80H) ите EPB+2 на /и 7Уz%и░╘и хне нужны (ЪP┴ове Є), вы Йе игнорирqть2дующие шаги. ░└ся я, требующая х("ая ЪFORMAT.є):  подготовьте два неоткрытых х╢`ачи ┴ываемому Lу  поместите в EPB+6 /и 7bого х  поместите в EPB+0aH /и 7второго х ╘cов ч╢ь4bH (PAL=3)0. ╖.е▀ ▀ B▀ ┌─┐ +0 2 │ │ 7, в Нй ╤загружен  ├───┴───┤ +2 4 │ │ фактор ^ещения ╢Октировки 7uссылок └───┴───┘ 04H ╖╘а EPB ╢чPAL=3N─ь4bH ч# Главное К и э ?+L .Э(.'?7ЭGЭQLQ{BQ R$а нка а EXE ы стандарт{EXE-а Гинаются с "ого нка.0. ╖.е▀ ▀ A▀ ┌─┐ +0 2 │4Dh 5aH│ "подпись" а .EXE ('MZ') ├───┴───┤ +2 2 │PartPag│ ╖неполzSдней &ы (rигнорируется) ├───┴───┤ +4 2 │PageCnt│ ╖образа в 512-╓овых &ах, включая нок ├───┴───┤ +6 2 │ReloCnt│  ов в #е ^ещения ├───┴───┤ +8 2 │HdrSize│ ╖нка в 16-╓овых eах ├───┴───┤+0aH 2 │MinMem │ минимум требуемой fи за концом Mы (eы) ├───┴───┤+0cH 2 │MaxMem │ максимум требуемой fи за концом Mы (парагр.) ├───┴───┤+0eH 2 │ReloSS │ 7ное /7а стека (╢ки SS) ├───┴───┤+10H 2 │ExeSP │ зе ;а SP (я стека) Pзапуске ├───┴───┤+12H 2 │ChkSum │ контр. сумма (отрицательБсумма ╞х слов в е) ├───┴───┤+14H 2 │ExeIP │ зе ;а IP (я У) Pзапуске ├───┴───┤+16H 2 │ReloCS │ 7ное /Фового 7а (╢ки CS) ├───┴───┤+18H 2 │TablOff│ /в е 1-го а ^ещения (часто 001cH) ├───┴───┤+1aH 2 │Overlay│ yоверлея (0 ╢глав{модуля) └───┴───┘1cH >ирqнzпорции нка EXE ┌─┬─┬ ─ ─ ┬─┬─┐ Табл. ^ещения. В+ ? 4*? │ 0. 7│  │ 0. 7│ по 0ению [EXE+18H]. └E─ ─ ┴F───┴───┘ [EXE+6] DWORD-ов.+ ? ? пропуск до границы eа+ ? ? Вобраза MыN─ Поскольку EXE-Й╧загружен в Л7, ╞абсолютw 7wссылки (FAR CALL, далекие и, ссылки типа MOV AX,data_seg) ┤╧Pведены к ╪ам fи, +ующим мке. | Pведены шаги, Эуемые Mой мки э(я 4bH ) P мке а EXE: 1. ,▐посредством и э26H 2. про 1cH ╓а EXE (ирqнную порцию нка EXE) в локальную tь fи 3. kЬ>модуля = ( (PageCnt*512)-(HdrSize*16) ) - PartPag 4. kЬовое /загружаемого модуля = (HdrSize * 16) 5. ├7v╪, START_SEG, ╢мки (r ▐+ 10H) 6. с модуль в tь fи, Гинающуюся с ╪а START_SEG:0 7. LSEEK (. ь а) на В#ы ^ещения (TablOff) 8. ╢каждого а ^ещения (ReloCnt): a. с Ъдва 16-╒овых слq(I_OFF,I_SEG) b. вычислЬRELO_SEG=(START_SEG+I_SEG) (╪^ещаемой ссылки) c. извлечь 1по ╪у RELO_SEG:I_OFF (про ее зе) d. PбавЬSTART_SEG к му слову (┐Pвязку 7а) e. поместЬрезультат обратно по ▒╪у (RELO_SEG:I_OFF) 9. РаспределЬfь ╢Mы согласно MaxMem и MinMem10. аализирqть ;ы и запЬMу: a. ES = DS = ▐ b. AX = отражает Октность идентификаторов ╕ов в Уz%е c. SS = START_SEG+ReloSS, SP = ExeSP d. CS = START_SEG+ReloCS, IP = ExeIP ( : PUSH seg; PUSH offset; RETF)ле: Sд}добавления в EXE, особенно ╠EXE-ов "CodeView" и "Windows", содержат дополнительную Юю, включенную в выполнимый . Эти добавления не отражены в настоящей ╠ TECH с!.N─ь4bH ч Запуск и пе M и э 9 л3 л"м;s$а нка а Двоичvобраз а ▓а а Гинается с $ы. Во ╟ки ▓а поле Next_Device Октируется, включаясь в цепь.0. ╖.е▀ ▀ A▀ ┌─┬─┐ Next_Device: FAR ╪2д. а в цепи +0 4 │ 0. 7│ (/=0fH, ░Sдний ▓) ├───┴───┼───┴───┘ +4 2 │DevAttr│ ╒овые поля, составляющие ╫а ├───┴───┤ +6 2 │Stratgy│ /Mы а STRATEGY ├───┴───┤ +8 2 │Intrupt│ /Mы а рERRUPT ├F─┐+0aH 8 │'L' 'P' 'T' '1' 20H 20H 20H 20H│ дополненное пробелами гр. └EF───┴───┘ (жyсуба)N─ь32H ╫а йы а ▓ы   к9м2мF!E+$к(м<к<м;<s=╫а Поле DevAttr нка а свойства а. 1 1 1 1 1 1╓5┬4┬3┬2┬1┬0┬9┬8╥7┬6┬5┬4┬3┬2┬1┬0╖║ │ │ │0│ │0 0 0 0│ │0 0J║╙D┴─┴╥┴G╨─┴╥┴─┴─┴D┴╥╜ ╒" маска ║ ║ ║ ║ ║ ║ H═ 0: 1=стандартное ─ное о 0001H ║ ║ ║ ║ ║ H═══ 1: 1=стандартное ╜ное о 0002H ║ ║ ║ ║ ║ ║ ╚═ 2: 1=стандартное о NUL 0004H ║ ║ ║ ║ ║ ╚═ 3: 1=часы 0008H ║ ║ ║ ║ ╚ ═ 6: 1=поддерживает логические р-ва 0040H ║ ║ ║ ╚═ 11: 1=поддерживает open/close/RM 0800H H═ 13: 1=не-IBM блочное о 2000H ║ ╚═ 14: 1=поддерживает ▀ 4000H ╚═ 15: 1=4ьное о;0=блочное 8000Hля: ите )е ╒ы в/в (0 и 1), ░вы заменяете ▓CON о NUL не Й╧]о (не заменяйте о NUL) ╒логических (э3.2+) отражает поддержку йов а 17H и 18H (╣/Логич р), Эуемых в реализации концепции "фантомuфлоппи-╕ов" в ▓е а DRIVER.█. ╒open/close/RM (э3.0+) отражает поддержку йов а ╢ съемuзависящих от x(RM = Removable Media-related)  (от 0dH до 0fH), " ▓блоч{а Йоптимизирqть локальную ╨изацию, а 4ьное о Йпослать аализирующую Rьность. ╒а не-IBM действует на обработку йа 'По'оЬBPB' (02H). ╒▀отражает поддержку утжт а, Эующих ь44H ╒4ь{а воздействует на йы ╬а и ┬а и kяет смысл поля 'га' в нке а . ░ ╒равен 0, о является блочным ом (r╕овод). ╒часов указывет на замеще}а CLOCK$. CLOCK$ - 4ьное о, обрабатывающее йы а на ╬и ┬длиzровно в 6 ╓. йна ╬(ФУы 4) ╡возвратЬ6 ╓, указывающих ие ╟и дату. йна ┬(ФУы 8) ╡ Pнимать 6 ╓, содержащих зя часов и календаря. ║х ╢ CLOCK$ 2дующий: 0. ╖.е ▀ ▀ /▀ ┌─┐ +0 2 │ date │ дней, считая с 1 января 1980 ├───┼───┘ +2 1 │min│ ая минута (0-59) ├───┤ +3 1 │hrs│ ий час (0-24) ├───┤ +4 1 │sec│ ая секунда (0-59) ├───┤ +5 1 │hun│ ая сотая секунды (0-99) └───┘N─ нок а йы а ▓ы   ? лнн;" y+#░* y6н8▓Fн)H▓+L░(O░PлRxYн)[▓,dпqн*zо4Мл7ЪлЭожнBмE"▓л╖E╛н"╚л+╨E╥л╥о;╥s╙$ы йов Кмд Наименq} Исп. █ Кмд Наименq} Исп. э▀▀▀ ▀ ▀ █ ▀▀▀ ▀ ▀ ▀ 0 аализирqть р C,B █ 0aH (┬а C 1 Контроль x B █ 0bH Сброс ┬а C 2 По'оЬBPB B █ 0cH ▀┬ C,B,I 3 ▀╬ C,B,I █ 0dH iо C,B,R 3.0+ 4 ╬( с р-ва) C,B █ 0eH Закрыть о C,B,R 3.0+ 5 Неразрушающий ╬ C █ 0fH Съемvноситель B,R 3.0+ 6 (╬а C █ 13H Общий й▀ I 3.2 7 Сброс ╬а C █ 17H ╣логич р C,B 3.2 8 ┬(Zна р-во) C,B █ 18H логич р C,B 3.2 9 ┬с верификацией C,B █N▀Эов: C = ▓ы 4ьu ─┐ B = блочwа (r╕оводы) ╞═См. ╫р. I = поддержка ▀ │ R = поддержка Open/Close/RM ─┘ tь ║х йа е^енную длину и kяется "Фом Уы" (/2 в нке йа ). НеНе Уы Эуют идентичw $ы йов. Другие Уы требуют ╢себя уникальz$ы йа. НеНе Уы Эуют лишь нок йа. ┌─┐ │ аализирqть р │ ФУы а: 00. ╖.е└─┘▀ ▀ A▀ ┌3─┐ +0 0dH │ 13-╓овый нок йа │ ├───┼F───┴───┼EF───┴───┘ +0dH 1 │ │ ╜:  единиц, kенное этим (блочным) ▓ом ├───┴───┬─┐ +0eH 4 │ 0. 7│ ╜: ╪конца резидент{Фа ├───┴───┼───┴───┤ +12H 4 │ 0. 7│ ─: ╪%и ∙из ё ├───┼F───┘ ╜: ╪BPB ╢(блоч{) а +16H 1 │drv│ y╕а (0=A, 1=B и т.д.) э3.0+ └───┘ ▓аализирует о и ╔╪конца tи fи, которую он хочет оставЬрезидентz. Гвс э3.0, /12H -DWORD-╪текста, 2дующ▒за Уой "DEVICE=" в е ё. Прочитав текст, вы Йе kЬи обработать cы Uя. Кроме того, !Гв с 3.0, /16H -y╕а ( W▓у выдавать сообще}, указывающее Uю обозе мого ╕а). ИЭqть и э01H-0cH во ╟аализации. ┌─┐ │ Контроль x│ ФУы а: 10. ╖.е└─┘▀ ▀ A▀ ┌3─┐ +0 0dH │ 13-╓овый нок йа │ ├───┼F───┴───┼EF───┴───┘ +0dH 1 │ │ ─: дескриптор x(эспрашивает об изменении) ├───┤ +0eH 1 │ │ ╜: 0ф=носитель сменился; 1=тот же; 0=не знаю ├───┴───┬─┐ +0fH 4 │ 0. 7│ ╜: ╪предыдущ▒имени тома (∙) └F───┴───┘ (░носитель изменился и поддерживается RM) ▓kяет, изменился ли носитель на е. ┌─┐ │ По'оЬBPB │ ФУы а = 20. ╖.е└─┘▀ ▀ A▀ ┌3─┐ +0 0dH │ 13-╓овый нок йа │ ├───┼F───┴───┼EF───┴───┘ +0dH 1 │ │ ─: ╓дескриптора x ├───┴───┬─┐ +0eH 4 │ 0. 7│ ─: ╪╨а (ц60) ├───┴───┼───┴───┤ +12H 4 │ 0. 7│ ╜: ╪BPB ╢╕а └F───┴───┘ ▓╡возвращать ь на BPB ╢ей ленz╕еты. ░в ╫е а включен ╒не-IBM, то /0eH на 'junk'. ░блочное о еIBM-, то /0eH  на bый 6ц(считанv`Уой "По'оЬBPB"). ┌─┐ │ ╬ж┬│ ФУы а: 3,4,8,9,0cH0. ╖.е└─┘▀ ▀ A▀ ┌3─┐ +0 0dH │ 13-╓овый нок а │ ├───┼F───┴───┼EF───┴───┘ +0dH 1 │ │ ─: ╓дескриптора x ├───┴───┬─┐ +0eH 4 │ 0. 7│ ─: ╪╨а `ачи ║х ├───┴───┼───┴───┘ +12H 2 │Count │ ─: счетчик ╓(6ов ╢блоч{р.) ├───┴───┤ +14H 2 │Sector │ ─: Гальvy6а (блочwр-ва) ├───┴───┼─┐ +16H 4 │ 0. 7│ ╜: ╪имени тома (∙) └F───┴───┘ (Pвозврате hки а = 0fH) По Уам ╬а (3,4) о должно `ать Count ╓(6ов ╢ блоч{а) в fь, Гвс ╪а, указан{по 0ению 0eH. По Уам ┬а (8,9,0cH) о должно `ать Count ╓/6ов из fи, Гвс ╪а по 0ению 0eH, на о. ┌!─┐ │ Неразрушающий ╬без ожидания │ ФУы: 50. ╖.е└!─┘▀ ▀ A▀ ┌3─┐ +0 0dH │ 13-╓овый нок йа │ ├───┼F───┴───┼EF───┴───┘ +0dH 1 │ │ ╜: зе 2дующ▒╓а в очереди └───┘ Эуется 4ьными ами. Посредством йа э ЙkЬ4, Нй ╤возвращен 2дующим йом ╬а.┌─┐│ (│ ФУы а = 6, 0aH└─┘ Эти Уы требуют Ь1*я а , особенно Яесуясь "╒ом занятости". ╢йов (а ╬а (кмд 6), сбрасывайте ╒занятости в 0, ░есть ждущий 4в ╨е. анавливайте ▒в 1, ░Уа ╬а потребует действитель{ожидания ╓а (Д, нажатия Чи). ╢йов (а ┬а (кмд 0aH), сбрасывайте ╒занятости, ░сейчас ~ждущ▒йа и очередz┬╤направлен непосредственно на о. анавливайте ▒в 1, ░предыдущий йеще не закончен.┌─┐│ Сброс │ ФУы а: 7, 0bH└─┘ Эти Уы заставляют ▓очистЬ─wж╜w╨а. Эуются в основном ╢очистки ╨а Шы.┌─┐│ i/Закрыть │ ФУы а: 0dH, 0eH└─┘ Эти Уы Эуются, Х╫а поддержку "Open/Close/Removable Media". Блочwа могут Эqть эти Уы ╢я локальz ╨изацией. й"i" (0dH) ╛ся Pоткрытии, а й "Закрыть" - Pзакрытии каждого а. W▓у от2живать моменты, ХИудалЬ╕ету из а и/жсбросЬ╨а ╢ повышения производительности. 4ьwа Эуют эти Уы ╢посылки на о (Д, O) %и аализации жсброса в Гальное *е.┌─┐│ Съемvноситель │ ФУы а: 0fH└─┘ Эуется ╢с ╫ом а , указывающим поддержку "Open/Close/RM". ▓╡сообщЬэ, поддерживает ли он съемwносители, возвращя Юю в ╒е занятости Слq*я а занят (╒9) = 0 озГает,  носитель съемv' 1 озГает,  носитель НЕ съемv ┌ ─┐ │ Общий ▀│ ФУы а: 13H0. ╖.е└ ─┘▀ ▀ A▀ ┌3─┐ +0 0dH │ 13-╓овый нок йа │ ├───┼F───┴───┼EF───┴───┘ +0dH 1 │ │ ─: yи ├───┤ +0eH 1 │ │ ─: yX ├───┴───┐ +0fH 4 │ SI │ ─: зе SI в йе и 44H ▀ ├───┴───┤ +11H 4 │ DI │ ─: зе, `анное в DI ├───┴───┼─┐ +15H 4 │ 0. 7│ ─: ╪gа ║х ▀ └F───┴───┘ ▓ы э3.2+, указывающие в ╫е а поддержку ▀, ┤ обрабатывать й. Он Эуется ╢разнообразunй, включая ирq}╕ов. Он предназГен ╢стандартизации Яфейса с различными типами ╕ов  ▓логических ╕ов DRIVER.█. См. ю э44H (▀). ┌─┐ │ ╣/логич р │ Фы Ур.: 17H,18H0. ╖.е└─┘▀ ▀ A▀ ┌3─┐ +0 0dH │ 13-╓овый нок йа │ ├───┼F───┴───┼EF───┴───┘ +0dH 1 │ │ ─: Фединицы; ╜: Sднее активное р ├───┤ +0eH 1 │ │ ─: ФУы ├───┴───┐ +0fH 4 │status │ (эTech Ref не сообщает,  здесь хранится) ├───┴───┼─┐ +11H 4 │ 0. 7│ (9) └F───┴───┘ ▓ы э3.2+, указывающие в ╫е а поддержку ▀, ┤ обрабатывать й. Он Эуется ╢поддержки "логических" ж "фантомu" , ленu блочv▓DRIVER.█, и предоставляет метод сообщЬжуказать ▓у, Ъое логическое о активно на физическом е. По йу 18H ▓╡поместЬID а по 0ению 0dH (1=A, 2=B и т.д.). ░▓обрабатывает единственное о, он ╡ возвратЬ0 в м поле. См. ю э44H (▀), Y. 0eH и 0fH.N─ ╫а 1*я а ▓ы  s мо'мнок йа а Ыйк ▓у а соNождается ем на $у йа, жg. Ыgйа Гинается "им 13-╓овым нком. P─е в ▓, ES:BX на gс $ой.0. ╖.е▀ ▀ A▀ ┌───┐ +0 1 │len│ ╖gа (включая нок и ║е) ├───┤ +1 1 │unt│ yединицы (╢блочu) ├───┤ +2 1 │cmd│ ФУы (00-18H) - специфицирует действие ├───┴───┐ +3 2 │Status │ 1*я а - заполняет ▓ ├F─┐ +5H 8 │ (9) │ ├───┴ ─ ┴ ─ ┴───┴───┼F───┘+0dH ? │ ║е │ ║е ирqны согласно Фу Уы └───┴ ─ ┴ ─ ┴───┴───┘ См. йы о ах ║х.  :н)п н:мпкм*п?s1*я а 1 1 1 1 1 1╓5┬4┬3┬2┬1┬0┬9┬8╥7┬6┬5┬4┬3┬2┬1┬0╖║e│9 │b│d║ Фhки ║ s = 16-╒овое 1(нок /3)╙╥┴G┴─┴─┴╥┴╥╨G┴G┴─┴─╜ ╒ маска ║ H ═╩═ 0-7: Фhки а (00ф) ║ ║ ╚═ 8: 1=готово (┼P╜е) (0100H) ║ ╚═ 9: 1=занято (Уы 6 и 0fH) (0200H) ╚═ 15: 1=в'етилась hка (8000H) ▓а ┼╔в э1*я а. Оно расположено по 0ению 3 в нке йа . Pнормальном пи йа ▓╡Ь╒"готово" и выйти  FAR RET. ╒"занято" тся обработчиком йа, Хон kяет невозИсть удовлетворения йа из-за того,  физическое о занято предыдущим йом.  ╒╔ся и Юя типа "очередь Шы непа" ж"носитель съемv". См. йы  ╒"hка" тся, Х▓получает невыполнимый йж в'ечает hку Pпопытке удовлетворЬй. Ханавливется ╒ hки, ╒ы 0-7 (╓по 0ению 3 в нке йа) ╡╧ заполнен Фом hки. См. hки о списке Фов hок.N─ нок а йы  hки  ▓ы р. 2о6ном2нEshки ▓ов  Х▓а получает неОктvйжв'ечает hку во ╟nи, он т ╒hки в слове *я а (╒15) и помещает Фhки в младшие 8 ╒(╓в нке йа по 0ению 3).Ош. m █ Ош. m▀▀▀ ▀ █ ▀▀▀ ▀ 0 наруше}защиты ки █ 9 Тбумаги на Oе 1 неизвестБединица █ 0aH hка ки 2 о не готово █ 0bH hка  я 3 неизвестБУа █ 0cH общая hка 4 hка CRC █ 0dH (9) 5 неверБ╖gа йа █ 0eH (9) 6 hка поиска █ 0fH неверБзамена ╕а (э3.0+) 7 неизвестvноситель █ 8 6не Е █N─ 1*я а йы  нок йа ▓ы  +▒$ x. Ю▓.x▒3 │3x;s╘cов ў(ўParameter Block - BPB) - подмножество ║х, содержащихся в Пм 6е . В ответ на й'По'оЬBPB' ▓заполняет ╘по показанz|схеме.0. ╖.е▀ ▀ A▀ ┌─┐ +0 2 │SectSiz│ ╓на 6 ├───┼───┘ +2 1 │ClustSiz 6ов на единицу =я (Ц) ├───┴───┐ +3 2 │ResSecs│ корневых и 9u6ов ├───┼───┘ +5 1 │FatCnt  #ц ├───┴───┐ +6 2 │RootSiz│ макс. 32-╓овых ов в Пм pи ├───┴───┤ +8 2 │TotSecs│ общее  6ов на носителе (@э) ├───┼───┘+0aH 1 │Media lь x(то же,  1-й ╓ц) ├───┴───┐+0bH 2 │FatSize│  6ов в одzц └───┴───┘ 0dH ╖BPB = 13 ╓N─ Пй 6 я 32H #а @ов ц ▓ы  #│E ░$x▓.xF░ #n)$О%│)░4+ы&,ы/Ю#/x030▒26nE6n<3 <│ <xB< =$а Пго 6а Пй 6гибкого ╕а ж@а  ого ╕а ╡иметь 2дующий .0. ╖.е▀ ▀ A▀ ┌───┬───┬───┐ +0 3 │JMP│ xx xx │ NEAR-\на Фмки ├F───┴─┐ +3 8 │'I' 'B' 'M' '3' '.' '2'│ OEM-гкомпании и версия ├───┴───┼E───┴───┘+0bH 2 │SectSiz│ ╓на 6 ═ ВBPB ═╗ ├───┼───┘8 ║+0dH 1 │ClustSiz 6ов на единицу =я (Ц) ║ ├───┴───┐8 ║+0eH 2 │ResSecs│ 9u6ов (6ов `bой ц) ║ ├───┼───┘8 ║+10H 1 │FatCnt  #ц% ║ ├───┴───┐8 ║+11H 2 │RootSiz│ макс. 32-╓овых ов Пго pя ║ ├───┴───┤8 ║+13H 2 │TotSecs│ общее  6ов на носителе (@э) ║ ├───┼───┘8 ║+15H 1 │Media дескриптор x(то же,  1-й ╓ц) ║ ├───┴───┐8 ║+16H 2 │FatSize│  6ов в одzц  ═ ТBPB ═══╝ ├───┴───┤+18H 2 │TrkSecs│ 6ов на дорожку (цжндр) ├───┴───┤+1aH 2 │HeadCnt│  головок  я/ки (поверхностей) ├───┴───┤+1bH 2 │HidnSec│ спрятанu6ов (исп. в схемах @ения) └───┴───┘ 1eH >ирqнzпорции Пго 6а ВФа и ║х мкиля: Эуйте абсолютное  е р25H (DX=0) ╢ я 6а. ИЛИ: - флоппи-╕и: Пй 6= ўр13H головка 0, дор. 0, 61 -  ые: читайте #у @ов ╢ўголовки/дорожки/6а OEM-гЙсодержать любые 8 ╓. Оно не Эуется э. подмножество BPB Пго 6а Эуется ▓ами  Sд}три поля $ы требуются, Гвс э3.0 . Эти поля не требуются ╢▓ов в э2.0 Vабсолютvy6а из yа Ца (из поля Clustno в е pя жв цепи ц), вы Йе Эqть ю э 32H жпро Пй 6и PменЬ2дующие формулы: корневых_6ов = (RootSiz * 32) / SectSiz В_║х = ResSecs + (FatSize * FatCnt) + корневых_6ов абс_6= В_║х + ((cluster_no - 2) * ClustSiz) ите DX=абс_6`nей  я р25H жки р26H . старые  ые ╕и, требqвшие лен{(не загружаемого) ▓а, могут содержать мусор в Пм 6е. В "их случаях ~способа kЬ>Пго pя, >Ца, /ци т.п.N─ь32H #а @ов ц и э . 4!:3x░▒/E% ы!▒& &3&x&▒)&░.&sB& 'Дескриптор x эkяет одно╓овый Ф, Нй (иногда) ИЭqть ╢ kения типа x, Эуемого ╕овым ом. Дескриптор x(называемый !╓ом цID) ИV:  Ъзе, возвращаемое ями э1bH , 1cH и 32H  Ъbый ╓ц(логический 61 э)  по 0ению 0aH в BPB  по 0ению 15H в Пм 6е (логический 60 э)  в ╘е ║х, Эуемом ей э44H Y. 0dH (Общий ▀)ЗГ. Типы x, kенwв э3.2▀ F▀ ф 2 стороны, 8 6ов на дорожку feH 1 сторона, 8 6ов на дорожку fdH 2 стороны, 9 6ов на дорожку fcH 1 сторона, 9 6ов на дорожку f9H 2 стороны, 15 6ов на дорожку f8H фиксирqнv╕ feH 8-дюйм (IBM 3740) 1 сторона, oарБплотность, 26 6ов/дорожку feH 8-дюйм 2 стороны, двойБплотность, 26 6ов на дорожку fdH 8-дюйм (IBM 3740) 2 стороны, oарБплотность, 26 6ов/дорожкуB║1 1 1 1 1│ │ │ ║ ╒овые и ╓а lя x╙G┴─┴─┴D╜ ╒ H═ 0: 1=2-стороннний; 0=не 2-сторонний ║ ╚═══ 1: 1=8 6ов; 0=не 8 6ов ╚═ 2: 1=съемv; 0=не съемv Ъвидите, дексриптор xни инивен, ни надежен. Руководство эTech Ref дает противоречивую Юю и советует не Эqть ▒. неплохой совет. Д, Пй 6▌-╕а VDISK.█- дескриптор x, указывающий 360K-╓овую ╕ету (независимо от объема ▌-╕а). !, дескриптор x0f8H Эуется ╢╞х  ых ╕ов, " он полезен в м смы2.N─и 1bH 32H ц Пй 6 BPB ▓ы  и э  *&┤9ОBО#Tы3Ux9U nd┤fОfХ*f▒( 6ов) └F───┴───┘ +10H В2дующ▒а #ы @ов (ж0aa55H ╢Sдн▒а)ля:  зя цжндра и 6а занимают 10 и 6 ╒+енно: 1 1 1 1 1 1 ╓5┬4┬3┬2┬1┬0┬9┬8╥7┬6┬5┬4┬3┬2┬1┬0╖ ║c c c c c c c c C c S s s s s s║ ╙G┴G┴─┴─╨G┴G┴─┴─╜ Они упорядочены ",  , Хвы загружаете CX 16-╒овым зем, оно готово ╢┴qр13H ╢ я нужzпорции ╕а. "им образом, S я Главzки мки в tь fи SecBuf, Ф CMP byte ptr SecBuf[01beH],80H Nерит, активен ли bый @, а Ф MOV CX,SecBuf[01c0H] мит CX ╢┴qр13H ╢ я Пго 6а @а #1.  зе "относитель{6а" по 0ению 08H в каждом @е дает головку, 6и цжндр Галь{╪а @а. Относительv6 0 совпадает с цжндром 0, головкой 0, 6ом 1. Относительvy 6а Pрастает сГала по каждому 6у на головке, ипо каждой головке и наТпо каждому цжндру. Pменима формула: отн_сек = (#Цил * сек_на_цил * головок) + (#Гол * сек_на_цил) + (#Сек -1)  @ы Гинаются с чет{yа цжндра, за исключе}м bого @а, Нй ЙГинаться с цжндра 0, головки 0, 6а 2 (поскольку 61 занят Главzкью мки).  Хкорневая кь @а получает е, DS:SI на +ующий #ы @ов.┌─┐│ логические томма 3.3 │ До ╠3.3 эне позволяла работать с ╕ами,└─┘ большими 32 мега╓(см. ци р25H/26H о Pчинах). э3.3 по-прежнему сохраняет 32M лимит на "логический том", но утжта FDISK и Фмки этеперь поддерживают томов э на единственном физическом ╕е. ░╓'System Code' а #ы @ов (/4) -5, то @, kенvэтим ом, трактуется ЪВотдель{ физического а. Д, на 40-мега╓ном ╕е, bичv@ ЙЭqть 32M, а <ый @Йзанимать ╕овую fь от 33M до 40M. <ый @Гинается со своей собственz╠главzки мки и #ы @ов, которая kяет новый @э, и, возИ, на очередz<ый @. См. <ый @э╢подробuсведений по теме.N─ р13H (в/в ╕а) р19H (мка) Пй 6 $ы ║х ы'$│(▒1(x<О<│+<▒=<Ь=<ый @э э3.3 сохраняет традиционное 32-мега╓ное ограниче}, но предоставляет способ Эqния больших (32M+) физических ╕ов Ъсовокупности логических томов меньш▒>а.ОсновБидея состоит в 2дующем:■ Новый "индикатор 3ы" (тип 5) э3.3 kяет >и ╕овый ╪вторич{Глав{Пго 6а, содержащ▒собственную версию #ы @ов, называемую "#ей а".■ "#а а" kяет >и местоположе}другого @а э, Нй этрактует Ъотдельv ый ╕.■ Каждая "#а а" !Йсодержать типа 5, Нй на другую #у а: ╒═╕ 0M ╔═╤══│ главvПй 6│ том #1 ║ │ ├─┤ ║ └─│ Пй 6э │ (╕C:) ║ \ fat, dir и ║е \ ╚═══╞═╡ 32M ╔═╤══│ #а расширения │ том #2 ║ │ ├─┤ ║ └─│ Пй 6э │ (╕D:) ║ \ fat, dir и ║е \ ╚═══╞═╡ 64M ╔═╤══│ #а расширения │ том #3 ║ │ ├─┤ ║ └─│ Пй 6э │ (╕E:) ║ \ fat, dir и ║е \ ╚═══╞═╡ 96M │ #а расширения │ том #4 | |6"#ы а" аналогичен #е @ов , кроме:■ "Ъа расширений не загружаемые, Пй 6не обязан содержать Фмки. Однако ╞логические ╕и 2дует ирqть в э╢аализации Пго 6а э, ци Пго Ща.■ ы #ы а не могут идентифицирqть "не-э" @ы. зя 'SysID' могут ╧2дующими: 00 #ы п 01 kяет 12-╒логическое о э 04 kяет 16-╒логическое о э 05 kяет другую #у расширения 06 (9)■ #а а -oждва а. okяет логическое о этипа 1 ж4. Второй (необязательv) Й╧ индикатором расширения (тип 5). Допускается лишь o╕на #у.■ PSysID =1 ж4, Гальwи конечwзя Hd/Sec/Cyl Pводятся относительно Пго 6а расширения.■ PSysID =5, Гальwи конечwзя Hd/Sec/Cyl абсолютны (т.е. относительно Гала физического ╕а).N─ р13H (╕овый в/в) #а @ов Пй 6 $ы ║х (Ъ О= Ь!#а cов ╕еты 10-╓qя $а известна !Ъ"Disk Base Table." Она находится по ╪у ═а Qя р1eH (4-╓овый ╪в 0:0078). #а задает неНе важw^енw╢╕ет. Ее аализирует ▄-ў, а эмодифицирует, улучшЬ производительность ╕ет.0. ╖.е▀ ▀ A▀ ┌─┬─┐ +0 1 │ | │ ╒ы 0-3: SRT (step rate time); ╒ы 4-7: head unload time ├─┴┬┤ +1 1 │ |│ ╒0: 1=исп.ю; ╒ы 2-7: head load time ├──┴┤ +2 1 │ │ motor wait (55-мс Явалов `отключе}м мотора) ├───┤ +3 1 │ │ >6а (0=128, 1=256, 2=512, 3=1024) ├───┤ +4 1 │ │ EOT (Sдний 6на дорожке) ├───┤ +5 1 │ │ ╖промежутка ╢nй  я/ки ├───┤ +6 1 │ │ DTL (Data Transfer Length) макс.╖║х, ░не задана ├───┤ +7 1 │ │ ╖промежутка ╢nи ирqния ├───┤ +8 1 │ │ 4-заполнитель ╢ирqния (r0f6H 'Ў') ├───┤ +9 1 │ │ head-settle time (в миллисекундах) ├───┤ +0aH 1 │ │ ╟запуска мотора (в 1/8-секундuЯвалах) └───┘N─ р13H5 $ы ║х ъ ъ: ┬ ┴$О4$Ь%#а cов  ого ╕а 16-╓qя $а находится по ╪у ═а Qя р41H 4-╓овый ╪в 0:0104). cы ╢второго  ого ╕а (░он есть) находятся по ╪у ═а р46H. Эти #ы задают неНе важw^енw╢nй с  ыми ╕ами. ■XT■ _и на плате Ра задают oиз 4-х типов  ╢каждого  ого ╕а. Во ╟мки ўт р41H и р46H в +ии с *ем этих _ей. A ═ы р41H и р46H анавливаются согласно типу винчестера AT (^енБЇ-fи , загружаемая Mой "Setup").0. ╖.е▀ ▀ A▀ ┌─┐ +0 2 │ │ максимальное  цжндров ├───┼───┘ +2 1 │ │ максимальное  головок ├───┴───┐ +3 2 │ │ starting reduced-write current cylinder ├───┴───┤ +5 2 │ │ starting write precompensation cylinder ├───┼───┘ +7 1 │ │ maximum ECC data burst length ├───┤ ╔═ bit 7: disable disk-access retries +8 1 │ │ drive step options ═╣ bit 6: disable ECC retries ├───┤ ╚═ bits 2-0: drive option +9 1 │ │ стандартное зе таймаута ├───┤ +0aH 1 │ │ зе таймаута ╢ирqния ├───┤ +0bH 1 │ │ зе таймаута ╢контроля а ├───┴───┬─┐ +0cH 4 │ │ │ (9) └F───┴───┘N─ р13H, буправляющих ╘ов  S-ЮB овых даты и ╚ 1 1 1 1 1 1 мите 1по 0ению 16H из а╓5┬4┬3┬2┬1┬0┬9┬8╥7┬6┬5┬4┬3┬2┬1┬0╖ pя в ;; nи маскирqния║ час │ минута │ сек/2 ║ и сдвига извлекут теперь компоненты ╚╙G┴G┴─┴─╨G┴G┴─┴─╜ создания/обновления а. ╚═══╦═══╝ ╚═╦═╝ ╚═══╦═══╝ ║ ║ ╚═ 2-секундwединицы (0-30) (t & 001fH) ║ ╚═ минута (0-59) ((t & 07e0H) >> 5) ╚═ час (0-23) ((t & 0f800H) >> 11) 1 1 1 1 1 1╓5┬4┬3┬2┬1┬0┬9┬8╥7┬6┬5┬4┬3┬2┬1┬0╖║ год │ месяц │ день ║ 1по 0ению 18H. Sмаскирqния╙G┴G┴─┴─╨G┴G┴─┴─╜ и сдвигов добавьте 1980 (07bcH) к году. ╚═╦═╝ ╚══╦══╝ ╚═══╦═══╝ ║ ║ ╚═ день (0-31) (d & 001fH) ║ ╚ ═ месяц (1-12) ((d & 01e0H) >> 5) ╚═ год (0-119) ((d & f800H) >> 9)N─ьs 11H 12H 57H pя и э ce1zC ylь а Гвс э╠2.0, в репертуар эвключены UNIX-подобwовые и. Идея их состоит в том,  , Хвы открываете , э╔ 16-╒овое зе "lя а" (т), Нй ╡Эqться P и, позиционирqнии, ки жзакрытии а. Одно из удобств - то,  вы Йе обращаться к неНм ам ", Ъбудто ╕овые ы,  за9ирqнwlи э: Предkенwlи э т Наименq}и m▀ E▀ 0 Стандартное о ╬а (rШа) 1 Стандартное о ┬а (r) 2 Стандартное о hок (┼CON──. ╢сообщений) 3 Стандартное о AUX (асинхр.┘; 1-й T──є1) 4 )й O (1-й dый TOа──LPT1)N─ т-jvв/в pя и ы )й в/в ё  9╒(э yы>'ЭG2LAqAэSL[Э [LB[ \Окруже}э эподдерживает tь fи, содержащую набор %∙, Не могут Эqться Pложениями ╢получения некоторой 3z Юи и ╢`ачи ║х между Mами.  Уа э'SET' - общий Яфейс эс окруже}м.  Уы 'PATH' и 'P▄PT' !действуют на .е окружения.  В guах э3.3, Лтекст, окруженvпроцентами, заменяется на 'зе' окружения, +ующее 'имени'. Pмеры: 1  SET PATH=c:\my_dir;%PATH% 2  IF .%USER%. == .dan. GOTO dan_label 3  ECHO %CMPRS% > %CUR_LPT% предоставляет массу возИстей. Однако в эпока не хватает ╞х средств, необходимых ╢действительно гибкого языка gzобработки. ле: средство работает, но НЕДОКУМЕНТИРОВАНО в э3.1 и 3.2. Окруже}еограниченv>в э. ИувеличЬ▒Pпомощи директивы SHELL= в е ёжУы 'єMAND /e:N', которая запускает вторичную копию У{Япретатора, 9ируя N ╓ про'анства ╢окружения. $а: Pмер в мнемонике ассемблера: г_1=зе_10 db 'єSPEC=c:\command.com',0 г_2=зе_20 db 'P▄PT=$p$g',0 : db 'WP=c:\wordproc',0 г_N=зе_N0 db 'PATH=d:\;c:\dos;c:\utils',0 0 db 0┌─ x  ─┐ ТОЛЬКО ┌─ dw 1 ─┐│ ч_string_10 ╞═ э ═╡ db 'C:\ACCTNG\AR001.EXE',0 ││ : │ 3.0+ └─ db 0 ─┘│ ч_string_NN0 │└─ 0  ─┘Здесь 0 - 4·NUL (00H), x - 16-╒овое двоичное зе.┌─┐│ Эq}окружения │ Окруже}не превышает 32K ╓и Гинается на└─┘ границе eа. /2cH в ▐ей Mы -yeа окружения. Вы Йе найти нужное 'г' серией сравнений %∙, пока не дойдете до пой %и (нулевой длины),  Токружения. r 'г' в каждой %е окружения задано прописными буквами, но  необязательно. Одна типичБnя с окруже}м Эуется Mами типа оболочки, Не запускают вторичную копию Є. "ие Mы rищут 'г' "єSPEC" и Эуют +ующее 'зе' ЪполvK Япретатора Уэ── Mы, запускаемой  ю э4bH . НеНе Mы требуют, оператор поместил Юю ╢ Pложения в окруже}посредством Уы SET. Pложе}ЙЭqть "ую Юю Pкаждом выполнении. Д, текстовый Lор Й отыскивать в окружении 'г' "DICTIONARY" и Эqть +ующее 'зе' Ъга со слqрными ║ми.┌─┐│ "Пе" окруже}│ Каждая Mа получает статическую копию└─┘ bоГаль{окружения. Пому любые ваши изменения в окружении будут действительны ╢порожденuвами Lов, и теряются, Хвы вер~е е в порождающий L. ~документирqн{способа отыскать "Пе", ж"главное" окруже}. См. р2eH о НЕДОКУМЕНТИРОВАННОМ способе. Вы Йе выйти из положения, запив копию Єи `ав ей нужное окруже}. S╞ Sдующие порожденwLы получат копию окружения.┌─┐│ Отыска}пути мки │ Гвс ╠3.0, эпомещает дополнительную└─┘ %у за концом официаль{окружения.  %а -╕и K, с Нх была загружена Mа. "УмБ" PкладБMа ЙЭqть эту %у, облегчЬсебе поиск своих оверлеев и ов ║х. епрактическое зе, "Ъэ3.0 Wоператору ┴ывать Mу, указывая ее K`дMы. За Sдней %ой окружения находится нулевой ╓, указывающий Т официаль{окружения. 2дующие два ╓а содержат 16-╒овый счетчик дополнительu%(r0001H). В2д за зем счетчика сидит %а ∙, содержащая Kи га и Эqвшаяся ей э4bH (ч) ╢мки и запуска вашей Mы. Даже ░Mvбыл не в ем pи, и эЭqла Kпоиска У(т.е. %у PATH=) ╢отыскания Mы, Октное полное гM{а (d:\K\га.тип,0) ╤помещен за концом окружения.N─ ▐ ь4bH (ч)+ и э Т3b8,ь8-ь8.ь8/ь80ь82ь83ь84ь85ь87ь88ь89ь8:ь8;ь>b>╗1>┐E>Т?<ые Чи · ░р16H Fn 00H вернула AL=0, то AH -<ый ФЧи ·, Ъпоказано в этих #ах. ░я 4ь{в/в э ╔400H, вы ┤┴вать ее еще раз, V <ый Ф·. ╓ ─╥─╥─╥─╖ ║ Key Hex Dec ║ Key Hex Dec ║ Key Hex Dec ║ Key Hex Dec ║ ╟ ─╫─╫─╫─╢ ║ F1 3b 59 ║ ┌-F1 54 84 ║ яF1 5e 94 ║ °F1 68 104 ║ ║ F2 3c 60 ║ ┌-F2 55 85 ║ яF2 5f 95 ║ °F2 69 105 ║ ║ F3 3d 61 ║ ┌-F3 56 86 ║ яF3 60 96 ║ °F3 6a 106 ║ ║ F4 3e 62 ║ ┌-F4 57 87 ║ яF4 61 97 ║ °F4 6b 107 ║ ║ F5 3f 63 ║ ┌-F5 58 88 ║ яF5 62 98 ║ °F5 6c 108 ║ ║ F6 40 64 ║ ┌-F6 59 89 ║ яF6 63 99 ║ °F6 6d 109 ║ ║ F7 41 65 ║ ┌-F7 5a 90 ║ яF7 64 100 ║ °F7 6e 110 ║ ║ F8 42 66 ║ ┌-F8 5b 91 ║ яF8 65 101 ║ °F8 6f 111 ║ ║ F9 43 67 ║ ┌-F9 5c 92 ║ яF9 66 102 ║ °F9 70 112 ║ ║ F10 44 68 ║ ┌-F10 5d 93 ║ яF10 67 103 ║ °F10 71 113 ║ ╙ ─╨─╨─╨─╜ ╓─╥─╥─╥─╖ ║ Key Hex Dec║ Key Hex Dec ║ Key Hex Dec ║ Key Hex Dec ║ ╟─╫─╫─╫─╢ ║ °A 1e 30 ║ °P 19 25 ║ °3 7a 122 ║ down  50 80 ║ ║ °B 30 48 ║ °Q 10 16 ║ °4 7b 123 ║ left  4b 75 ║ ║ °C 2e 46 ║ °R 13 19 ║ °5 7c 124 ║ right > 4d 77 ║ ║ °D 20 32 ║ °S 1f 31 ║ °6 7d 125 ║ up  48 72 ║ ║ °E 12 18 ║ °T 14 20 ║ °7 7e 126 ║ End 4f 79 ║ ║ °F 21 33 ║ °U 16 22 ║ °8 7f 127 ║ Home 47 71 ║ ║ °G 22 34 ║ °V 2f 47 ║ °9 80 128 ║ PgDn 51 81 ║ ║ °H 23 35 ║ °W 11 17 ║ °- 82 130 ║ PgUp 49 73 ║ ║ °I 17 23 ║ °X 2d 45 ║ °= 83 131 ║ ║ ║ °J 24 36 ║ °Y 15 21 ║ ║ ^left 73 115 ║ ║ °K 25 37 ║ °Z 2c 44 ║ NUL 03 3 ║ ^right 74 116 ║ ║ °L 26 38 ║ ║ ┌-Tab 0f 15 ║ ^End 75 117 ║ ║ °M 32 50 ║ °0 81 129 ║ Ins 52 82 ║ ^Home 77 119 ║ ║ °N 31 49 ║ °1 78 120 ║ Del 53 83 ║ ^PgDn 76 118 ║ ║ °O 18 24 ║ °2 79 121 ║ ^PrtSc 72 114 ║ ^PgUp 84 132 ║ ╙─╨─╨─╨─╜ ╔:═╗ ║ Расширения 101-ЧzШы, поддерживаемые ў║ ╓─╨─╥─╥─╨─╖ ║ Key Hex Dec ║ Key Hex Dec ║ Key Hex Dec ║ ╟─╫─╫─╢ ║ F11 85 133 ║ °Bksp 0e 14 ║ °K / a4 164 ║ ║ F12 86 134 ║ °Enter 1c 28 ║ °K * 37 55 ║ ║ Shft-F11 87 135 ║ °Esc 01 1 ║ °K - 4a 74 ║ ║ Shft-F12 88 136 ║ °Tab a5 165 ║ °K + 4e 78 ║ ║ яF11 89 137 ║ яTab 94 148 ║ °K Enter a6 166 ║ ║ яF12 8a 138 ║ ║ ║ ║ °F11 8b 139 ║ °up  98 152 ║ яK / 95 149 ║ ║ °F12 8c 140 ║ °down  a0 160 ║ яK * 96 150 ║ ║ °[ 1a 26 ║ °left  9b 155 ║ яK - 8e 142 ║ ║ °] 1b 27 ║ °right  9d 157 ║ яK + 90 144 ║ ║ °; 27 39 ║ ║ ║ ║ °' 28 40 ║ °Delete a3 163 ║ яK  [8] 8d 141 ║ ║ °` 29 41 ║ °End 9f 159 ║ яK 5 [5] 8f 143 ║ ║ °\ 2b 43 ║ °Home 97 151 ║ яK  [2] 91 145 ║ ║ °, 33 51 ║ °Insert a2 162 ║ яK Ins[0] 92 146 ║ ║ °. 34 52 ║ °PageUp 99 153 ║ яK Del[.] 93 147 ║ ║ °/ 35 53 ║ °PageDown a1 161 ║ ║ ╙─╨─╨─╜ и 4ь{в/в СканФы Шы и Шы р16H  ║DьDь'С+р1Kь1Lь7MьUЗ U┐U║2U рDU ЬVСканФы Шы ХШа └аппаратное Qе, она `ает обработчику Qй "сканФ". Обработчик преобразует сканФлибо в Ф·, либо в <ый Ф·. ╢совместимости между различными типами Шразумно Pвязываться к ў-Япретации нажатой Чи.┌─┐│ СтандартБШа PC/XT │ Pотпускании Чи, Ша посылает└─┘ тот же сканФс включенным старшим ╒ом (Д, [Ctrl] посылает 1dH Pнажатии и 9dH Pотпускании). ─╥ ─╥─╥─╥─Hex Dec Key ║Hex Dec Key ║Hex Dec Key ║Hex Dec Key ║Hex Dec Key ─╫ ─╫─╫─╫─01 1 Esc ║12 18 E ║23 35 H ║34 52 . > ║45 69 NumLock02 2 1 ! ║13 19 R ║24 36 J ║35 53 / ? ║46 70 ScrollLock03 3 2 @ ║14 20 T ║25 37 K ║36 54 Shft(Rt)║47 71 Home [7]04 4 3 # ║15 21 Y ║26 38 L ║37 55 PrtSc ║48 72  [8]05 5 4 $ ║16 22 U ║27 39 ; : ║38 56 Alt ║49 73 PgUp [9]06 6 5 % ║17 23 I ║28 40 " ' ║39 57 spacebar║4a 74 K -07 7 6 ^ ║18 24 O ║29 41 ` ~ ║3a 58 CapsLock║4b 75  [4]08 8 7 & ║19 25 P ║2a 42 Shft(L)║3b 59 F1 ║4c 76 [5]09 9 8 * ║1a 26 [ { ║2b 43 \ | ║3c 60 F2 ║4d 77  [6]0a 10 9 ( ║1b 27 ] } ║2c 44 Z ║3d 61 F3 ║4e 78 K +0b 11 0 ) ║1c 28 Enter║2d 45 X ║3e 62 F4 ║4f 79 End [1]0c 12 - _ ║1d 29 Ctrl ║2e 46 C ║3f 63 F5 ║50 80  [2]0d 13 + = ║1e 30 A ║2f 47 V ║40 64 F6 ║51 81 PgDn [3]0e 14 bksp║1f 31 S ║30 48 B ║41 65 F7 ║52 82 Ins [0]0f 15 Tab ║20 32 D ║31 49 N ║42 66 F8 ║53 83 Del [.]10 16 Q ║21 33 F ║32 50 M ║43 67 F9 ║11 17 W ║22 34 G ║33 51 , < ║44 68 F10 ║ ─╨ ─╨─╨─╨─┌─┐│ 84-ЧБШа AT │ Ша посылает те же сканФы,  и└─┘ типqя 83-ЧБ, с тем доба╩м,   [SysReq] посылает сканФ54H (десятичное 84). Однако ўниХне `ает сканФв Pкладную Mу. Вместо он └р15H Y. 85H Pнажатии и отпускании SysReq. Отпуска}Чи обрабатывается иГе. Pотпускании Чи Ша посылает двух╓овую Rьность: 0f0H, исканФ'нажатия'. См. и Шы AT о Mирqнии "ой Шы.┌─┐│ 101-ЧБШа │ Ша еетри различuсхемы└─┘ сканФов, выбираемых  T64H. Она поставляется с набором сканФов 2, резко отличающимся от 84-Ч{ набора. Однако, сканФы транслируются аппаратным Яфейсом Шы, прежде чем они становятся │ными Mам, осуществляющим считыва} Шы. В результате ╞сканФы, Pведенwв #е выше, остаются верными P нормальzработе с 101-ЧzШой. В 2дующей #е Pведены дополнительwсканФы, посылаемые 101-ЧzШой. Pводятся сканФы от Ч, уникальu╢Шы; Д, Insert - "дополнительБ" Ча, а не Ча на цифровой (правой) Ше. ,─╥─ Ча Фы ║ Ча Фы ,─╫─ F11 . 57 ║ Home . e0 47 F12 . 58 ║ Shft-Home ... e0 aa e0 47 Right-Alt . e0 38 ║ End  . e0 4f Right-Ctrl . e0 1d ║ Shft-End . e0 aa e0 4f PrintScreen  . e0 2a e0 37 ║   . e0 48 Shft-PrintScreen (SysReq) e0 37 ║ Shft- . e0 aa e0 48 яPrintScreen (SysReq) e0 37 ║   . e0 50 °PrintScreen  . 54 ║ Shft- . e0 aa e0 50 Pause . e1 1d 45 e1 9d c5 ║ PageUp . e0 49 яPause (Ў) . e0 46 e0 c6 ║ Shft-PageUp . e0 aa e0 49 Insert . e0 53 ║ PageDown . e0 51 Shft-Insert  . e0 aa e0 52 ║ Shft-PageDown e0 aa e0 51 Delete . e0 53 ║   . e0 4d Shft-Delete  . e0 aa e0 53 ║ Shft- . e0 aa e0 4d  . e0 4b ║ K Enter . e0 1c Shft- . e0 aa e0 4b ║ K /  . e0 35/ ║ Shft- K / ... e0 aa e0 35 ,─╨─ Заметьте,  ╢Ч(жих комбинаций), аналогичuстарой (прежней) Ше, второй ╓сканФа оставлен прежним. Пому неНе Mы, работающие на уровне сканФов, могут сохранЬработоспособность и на новой Ше, просто игнорируя префикс 0e0H.N─ р09H и Шы <ый · Ша AT $ы 3╒╚ Л$AЙCЙ C КC╚%C цD╫ы а в текстовом :е хранится ЪRьность пар ╓, где bый ╓в каждой паре - Лиз 256 4ов ·, а второй ╓- ╫┬а. ╢┘ов zграфики в текстовом :е ╫ kен ": ┌─7─┬─6─┬─5─┬─4─┬─3─┬─2─┬─1─┬─0─┐ │fgB│background │brt│foreground │ └─╥─┴F───┴─╥─┴F───┘ ║ ╚═══╦═╝ ║ ╚ ═╩══ `н▒плана (от 0 до 0fH) ║ ║ ╚═ интенсивность: 1=`ний план яркий ║ ╚═ фоновый (от 0 до 7) ╚═ мерца}: 1=`ний план мерцает ╔══ 00H черv═══╗ ║ 01H синий ║ ║ 02H зелеv ║ ║ 03H голубой ╠═ опции фона ║ 04H красv ║ ║ 05H розовый ║ ║ 06H коричневый║ Формула ╢вычи2ния ╫а: опции ║ 07H серый ═╝ (фон * 16) + `ний план `н▒ ═╣ 08H темно-серый (добавьте 128 ╢мерцания) плана ║ 09H ярко-синий ║ 0aH светло-зелеv ║ 0bH светло-голубой ║ 0cH светло-красv ║ 0dH светло-розовый ║ 0eH желтый ╚══ 0fH белый┌─┐│ ╫ы ъ│ В ┘ах √╫ы а могут ╧akены.└─┘ ╓╫а в ╦fи в действительности kяет oиз 64 различuкомбинаций ов (плюс мерца}). В результате вы Йе ┴вать √ў510H ╢ки ╫а а, r изображающ▒"черvна белом", ╢выдачи "желтого на синем" жЛ другой комбинации.┌ ─┐│ Ограничения │ Хотя Л╫ЙЭqться на любом Зе,└ ─┘ неНе Зы неспособны отображать полvдиапазон ов. Эуйте 2дующую #у ╢подбора Pемлемой комбинации на Зе: █"▀█"▀█ █ TTL монохромwЗы █ ОдноwсоставwЗы █ █"▄█"▄█ █ 01H подчеркива} █ 07H обычv(серый на черном) █ █ 07H обычv(серый на черном) █ 08H темно-серый на черном █ █ 09H яркий с подчеркива}м █ 0fH жирv(белый на черном) █ █ 0fH жирv(белый на черном) █ 70H реверс (черvна сером) █ █ 70H реверс (черvна сером) █ 78H темно-серый на белом █ █ 81H мерца}с подчеркива}м █ 7fH белый на сером █ █ 87H мерца} █ 87H мерца} █ █ 89H яркий мерцающий подчеркнутый █ 8fH жирvмерцающий █ █ 8fH жирvмерцающий █" █ G▀Ж(TTL) ЗIBM Йотображать комбинации, указанwвыше. Большинство остальuкомбинаций выдаются Ъсерый на черном.┌─┐│ СоставzЗ│ Недорогой составzЗ, Pсоединенvк└─┘ стандартzплате ї, └трудности P отображении ов. В :е color-burst (е ╢большинства M) большинство комбинаций ов (за исключе}м aчи2нuвыше) не отображаются. выйти из положения, отмените :color-burst Уой эMODE BW80 ж Qе р10H .N─ р10H ╦:ы √ Tы в/в ї  ,ЩЙ6▄Щ Й>Щ >Й>▄=>Ь?#а ╦cов #а ╪уется ═ом Qя р1dH (0:0074). Она Эуется Qем р10H Y. 00H Pизменении :а ╦. зя в #е - зя ;ов, Не ┤╧ загружены в 6845 ╦Р, а !другие ║е ( столбцов на е и т.п.) ╢╦^енu, хранящихся в tи ║х ў по ╪у 0:0449. ░aЬ═р1dH на ваши собственw#ы, то очередБ смена :а ╦ р10H ╤Эqть зя из ваших #.0. ╖.е▀ ▀ A▀ ┌── ─ ─ ─ ─ ─ ─ ─ ──┐ +0 10H │ │ 6845 ;ы (см. |) ╢40x25 :ов ├── ┴ ─ ┴ ─ ┴ ─ ┴ ──┤ +10H 10H │ │ 6845 ;ы ╢80x25 :ов ├─ ─┴ ─ ┴ ─ ┴ ─ ┴ ──┤ +20H 10H │ │ 6845 ;ы ╢графических :ов ├── ┴ ─ ┴ ─ ┴ ─ ┴ ──┤ +30H 10H │ │ 6845 ;ы ╢80x25 монохромzплаты ├───┴───┼ ─ ┴ ─ ┴ ──┘ +40H 2 │ │ >одz&ы а (40x25 :ы) ├───┴───┤ +42H 2 │ │ >одz&ы а (80x25 :ы) ├───┴───┤ +44H 2 │ │ regen size ╢графики низкого разрешения ├───┴───┤ +46H 2 │ │ regen size ╢графики высокого разрешения ├───┼───┼───┬───┬───┬───┬───┬───┐ +48H 8 │ │ │ │ │ │ │ │ │  столбцов ╢:ов 1-8 ├───┼───┼───┼───┼───┼───┼───┼───┤ +50H 8 │ зе ;а ки :а (T3d8H) ╢:ов 1-8 └EF───┴───┘ ие зя - в 0:0465▀ ▀ B▀ bые 40H ╓#ы содержат четыре 16-╓овых #ы, каждая из Нх -набор одно╓овых зй ╢каждого из ;ов CRT-Ра 6845 в порядке их Rьности (R0...R15): R0: horizontal total──horizontal sync in character clocks R1: horizontal displayed──4ов в %е R2: horizontal sync position──can use to move display left or right R3: sync width──vertical and horizontal pulse (4 bits each) R4: vertical total──╞го вертикальu4ьu% R5: vertical adjust──adjusts for 50 or 60 Hz refresh R6: vertical displayed──выведено 4ьu% R7: vertical sync position──сдвинуто %вверх жвниз R8: interlace mode (bits 4 and 5) and skew (bits 6 and 7) R9: max scan line address──скан-%на 4ьную %уR10: cursor start──ГальБскан-%а МаR11: cursor stop──конечБскан-%а МаR12: video memory start address──╪активz╦&ы (старший ╓)R13:; (младший ╓)R14: ╪Ма (старший ╓)R15: (младший ╓) ;ы 16-17 не включены в #у, но Pводятся здесь ╢полноты:R16: ╪светового пера (старший ╓)R17: (младший ╓)N─ р1dH р10H ^енwў $ы ║х М: ▄,М8ъМ ▄=Ь Список s список описывает ленное жактивное обоудq}. Он ╔ся Qем р11H (в AX) и хранится среди ║х ў по ╪у 0:0410. 1 1 1 1 1 1╓5┬4┬3┬2┬1┬0┬9┬8╥7┬6┬5┬4┬3┬2┬1┬0╖ ┴овите р11H жизвлеките AX=0:0410║prt│ │j│ aux │ ║drv│vid│▌│ │ ║╙─┴─┴╥┴╥┴G┴╥╨G┴G┴╥┴╥╜ ╒ маска ╚╦╝ H═╦═╝ ║ ╚╦╝ ╚╦╝ ╚╦╝ ║ ╚═ 0: 0 = ~╕овых  (0001H) ║ ║ ║ ║ ║ ║ ║ ║ ╚═══ 1: 8087 соLор (ненадежно) ║ ║ ║ ║ ║ ║ ║ ╚═ 2-3: материнская плата ▌ (000eH) ║ ║ ║ ║ ║ ║ ║ 01H=16K; 04H=32K; 0eH=64K (ж╥) ║ ║ ║ ║ ║ ║ ╚ ═ 4-5: Гальv/активv: (0030H) ║ ║ ║ ║ ║ ║ 00=возИ, ъ(ненадежно) ║ ║ ║ ║ ║ ║ 01=40-кол. z ║ ║ ║ ║ ║ ║ 10=80-кол. z ║ ║ ║ ║ ║ ║ 11=TTL Ж ║ ║ ║ ║ ║ ╚═ 6-7: ╞го ╕оводов без 1 (00c0H) ║ ║ ║ ║ ║ 00=1; 01=2; 10=3; 11=4 ║ ║ ║ ║ ╚═ 8: юPсутствует (0100H) ║ ║ ║ ╚═ 9-11: RS232 Tы (0e00H) ║ ║ ║! 000=~; 001=1; 010=2; ... 111=7 ║ ║ ╚═12: 1=игровой ┘Pсутствует(1000H) ║ ╚═13: 1=Sд.O Jr  ╚═14-15: лено Oов (c000H)) 00=~; 01=1; 10=2; 11=3ле: Часто Эуется ╢kения актив{╦┘а и местоположения ╦fи. ░(AX & 30H) = 30H, то ┘ Ж- ╦7▌по ╪у 0b000H, иГе 0b800H.N─ р11H tь ║х ў $ы ║х (Т)Т&Т-!Т 0 р3Т 3▄=3Ь4и *я Шы Два ╓а с ╪ами 0:0417 и 0:0418 содержат *е служебuЧи другую полезную Юю. Qе р16H ╔bый ╓в AL. ╓─7┬─6┬─5┬─4┬─3┬─2┬─1┬─0╖ Выполните р16H Fn 02H ║I │C │N │S │a │c │sL│sR║ жизвлеките AL=╓по ╪у 0:0417 ╙─╥┴─╥┴─╥┴─╥┴─╥┴─╥┴─╥┴─╥╜ ╒ ║ ║ ║ ║ ║ ║ ║ ╚═ 0: правая ┌(AL & 01H) 01H=нажата ║ ║ ║ ║ ║ ║ ╚═ 1: левая ┌(AL & 02H) 02H=нажата ║ ║ ║ ║ ║ ╚═ 2: Ctrl (любая) (AL & 04H) 04H=[Ctrl] нажата ║ ║ ║ ║ ╚ ═ 3: Alt (любая) (AL & 08H) 08H=[Alt] нажата ║ ║ ║ ╚ ═ 4: ScrollLock (AL & 10H) 10H=:ScrollLock ║ ║ ╚═ 5: NumLock (AL & 20H) 20H=:NumLock ║ ╚═ 6: CapsLock (AL & 40H) 40H=:CapsLock ╚═ 7: Insert (AL & 80H) 80H=:Insert ╓─7┬─6┬─5┬─4┬─3┬─2┬─1┬─0╖ ║i │c │n │s │ │sy│aL│cL║ извлеките AL=╓по ╪у 0:0418 ╙─╥┴─╥┴─╥┴─╥┴─╥┴─╥┴─╥┴─╥╜ ╒ ║ ║ ║ ║ ║ ║ ║ ╚═ 0: Ctrl (левая) (AL & 01H) 01H=нажата ║ ║ ║ ║ ║ ║ ╚═ 1: Alt (левая) (AL & 02H) 02H=нажата ║ ║ ║ ║ ║ ╚═ 2: SysReq (AL & 04H) 40H=SysReq нажата ║ ║ ║ ║ ╚ ═ 3: задержка (AL & 08H) 08H яNumLock (пауза) ║ ║ ║ ╚ ═ 4: ScrollLock (AL & 10H) 10H=[ScrollLock] нажата ║ ║ ╚═ 5: NumLock (AL & 20H) 20H=[NumLock] нажата ║ ╚═ 6: CapsLock (AL & 40H) 40H=[CapsLock] нажата ╚═ 7: Insert (AL & 80H) 80H=[Ins] нажаталя: ╒ы 0-2 ╓а 0:0418 - ╢101-ЧzШы. 101-ЧБя ўр16H Fn 12H ╔AL Ъ╢ Fn 02, но в AH возвращаются 2дующие ╒овые и: ╓─7┬─6┬─5┬─4┬─3┬─2┬─1┬─0╖ ║sy│c │n │s │aR│cR│aL│cL║ AH Sр16H Fn 12H (101-клав. ў) ╙─╥┴─╥┴─╥┴─╥┴─╥┴─╥┴─╥┴─╥╜ ╒ ║ ║ ║ ║ ║ ║ ║ ╚═ 0: Ctrl (левая) нажата (AH & 01H) ║ ║ ║ ║ ║ ║ ╚═ 1: Alt (левая) нажата (AH & 02H) ║ ║ ║ ║ ║ ╚═ 2: Ctrl (правая) нажата (AH & 04H) ║ ║ ║ ║ ╚ ═ 3: Alt (правая) нажата (AH & 08H) ║ ║ ║ ╚ ═ 4: ScrollLock нажата (AH & 10H) ║ ║ ╚═ 5: NumLock нажата (AH & 20H) ║ ╚═ 6: CapsLock нажата (AH & 40H) ╚═ 7: SysReq нажата (AH & 80H) НеНе старые Mы изменяют ╒ы NumLock и CapsLock (по ╪у 0:0417), Ьнужv(. не 2дует делать, потому  современwШы снабжены световыми индикаторами, Не тем самым aстанут отражать ий (. См. Шу AT на предмет ╙подробzЮи.N─ р16H ^енwў" $ы ║х "ю+!ъ'▄='Ь(▄-Scan Во ╟холод{старта, SPOST и ки ╞х умалчиваемых обработчиков Qй, ў╛Nерку на внешнюю fь ▄, подключенную  платы s. Nерка известна Ъ▄-scan.ле: ▄-scan не была реализqна в ранних версиях ў, и старые PC (имеющие максимально 64K на материнской плате) не смогут Эqть средство, ░не лена ╙поздняя версия ▄-ў. Внеш}модули ▄могут находЬся между ╪ами c800:0 и e000:0. Ы2K ╘в м Явале Nеряется на подпись и е"ой :0. ╖.е▀ ▀ A▀ ┌───┐ +0 1 │55H│ Подпись │{╢ўмодуля ▄ ├───┤ (bое 1в 7е = aa55H) +1 1 │aaH│ ├───┤ +2 1 │len│ ╖модуля ▄в 512-╓овых единицах ├───┼ ─ ┬───┐ +3 ? │ │ │ │ выполнимый Ф ├───┼ ─ ┴───┘ (часто NEAR-\на Фаализации) | | (r- фиктивv╓╢Nерки контр.суммы) Хўнаходит подпись ▄, он ╛контрольное суммирq} модуля. ╞╓ы складываются по модулю 100H, и сумма должна ╧равна 0. ░модуль Nерен и Октен, ў╛FAR CALL на /0003H 7а. Ожидается,  ▄вер~е в ўпосредством ин'укции FAR RET. r▄-модуль ╛nи по аализации sи вставляет свой собственv╪в oж═ов Qй. Гнезда ▄U17 и U37 на материнской плате A╪уются с e000:0. Поиск модуля осуществляется по 64K-╓овым ╘ам. ░модуль существует, он еподпись aa55H, неЭуемый ╓длины, выполнимый Ф, Гинающийся по 0ению 0003, и контрольную сумму 0 по модулю 100H в e000:f.N─ ^енwў, $ы ║х  2ю"юERЦ[юCiю1pС Е┬7П╚4ШС4гСнС=нЬо$а Ї-fи PC класса AT имеют питаемые от батарейки часы реаль{╚(RTC) и 64 ╓а постоянzЇ-fи. fь -разнообразную Юю, включающую ие дату и ╟, сведения о конфигурации машины и ╓(а закрытия 3ы ( ╓Эуется механизмом, позволяющим машине AT рестартqть S выполнения сброса Lора, ┬ящ▒из защищен{:а). ░вы получаете подсказку "Run Setup" во ╟POST , то потому,  Ъое-то оборудq}неправильно отражено в ки конфигурации, ж обнаружена Ъая-либо другая проблема с fью Ї. ╪а Назе (подробности см. |) ▀ *▀ 00H-0dH Эуются часами реаль{╚ 0eH ╓(а диагностики POST 0fH ╓(а закрытия 10H тип флоппи-╕овода ─┐ 11H (9) │ 12H типы винчестеров (░< 15) │ 13H (9) ╞═ кь конфигурации, 14H ╓s │ защищенБконтрольzсуммой 15H-16H >основzfи │ (╪а 10H-20H) 17H-18H <ая fь за 1M │ 19H тип винчестера C (░> 15) │ 1aH тип винчестера D (░> 15) │ 1bH-20H (9) ─┘ 21H-2dH (9) 2eH-2fH контрольБсумма по ╪ам Їот 10H до 20H 30H-31H ><ой fи за 1M 32H ее столетие в Фе BCD (Д, 19H) 33H смешанБЮя 34H-3fH (9)┌─┐│Работа с ║ми Ї│ про ╓из Ї, выполните Уу└─┘ OUT 70H,╪; ивыполните IN 71H.  кать ╓в Ї, выполните OUT 70H,╪; иOUT 71H,зе.Pмер: ;- про тип лен{ ого ╕а mov al,12H out 70H,al ;├╪Ї12H jmp $+2 ;небольшая задержка in al,71H ;теперь в AL тип а (0-15) ╪а 10H..20H защищены контрольzсуммой,  WобнаружЬ износ батарейки жпорчу Юи в ки конфигурации. КонтрольБ сумма - просто 16-╒qя сумма защищаемых ╓fи.┌─┐│.е Ї-fи │└─┘Адр. m▀ I▀ 0 ая секунда часов RTC ╔$═╗ 1 сигнальБсекунда ║ ╞порции RTC хранятся в е ║ 2 ая минута ║ BCD Ъдве десятичwцифры; ║ 3 сигнальБминута ║ Д, 31 хранится Ъ31H. ║ 4 ий час ╚$═╝ 5 сигнальvчас ┌─┐ 6 ий день недели (1=воскресенье) │ Подробности о часах RTC │ 7 ий день месяца │ см. в документации │ 8 ий месяц │ Motorolla MC146818. │ 9 ий год (две цифры; Д, 87) └─┘ I0aH RTC (- ;A B ║ │ │ ║ ╙╥┴G┴G┴─╜ ║ ╚═╦═╝ ╚═╩═ селектор частоты (лен в 0110) ║ ╚ ═ 22-шаговый ?ь (лен в 010) ╚═ "работает обно╩" (UIP). 0 - И . I0bH RTC (- ;B B ║ J│ │ │ ║ ╙D┴D┴╥┴╥╜ I║ H═ летнее ╟. 0=стандартное ╟(. в 0) IH═══ 12 ж24-часовой :. 0=12-часовой (. в 1) I║ ╚═ предста╩даты. 1=двоичv, 0=BCD. (. в 0) I╚═ 1=вкл. квадр. волну. (. в 0) ║ H ═ Qе по концу обновления.0 запрещает.(. в 0) H ═ Qе по сигналу.0 запрещает.(. в 0) р1aH ║ ╚ ═ периодическое Qе.0 запрещает.(. в 0) ╚═ "работает обно╩" (UIP). 0 - И . I0cH RTC (- ;C. ╒ы (а Qя, И . I0dH RTC (- ;D. ╒7=1: Ї-▌получает пита}" =0: батарейка кончилась. I0eH ╓(а диагностики POST B ║ J│ │0 0║ ╙D┴D┴─┴─╜ I║ ╚═ ╟Октно (1: не 30-е февраля и т.п.) I╚═ Плохой винчестер. 1: мка не идет ║ H ═ >▌неверен. 1: POST нашла иz>▌ H ═ кь конфигурации неверна. 1: оборудq}другое ║ ╚ ═ 1: КонтрольБсумма Ї▌неверна. ╚═ Потеря питания. 1: батарейка реальuчасов кончилась I0fH ╓(а закрытия ╓считывается Sсброса CPU, kЬ, ┴ван ли сброс с целью выйти из защищен{:а работы Lора 80286. 0 = мягкий сброс (я°Del) (жнеожи║й). Обойти POST 1 = закрытие Skения >а fи 2 = закрытие Sвыполне}теста fи 3 = закрытие Shки fи (сбой четности 1 ж2) 4 = закрытие по йу Галь{мчика 5 = закрытие по FAR JMP (рестарт Ра прер. и jmp 0:[0467H]) 6,7,8 = закрытие Sпрохода теста защищен{:а 9 = закрытие Saсылки ╘а. См. р15H Y. 87H 0aH = закрытие по FAR JMP (немедленvjmp по ╪у в 0:[0467H]) I10H типы флоппи-╕оводов B ║ │ ║ C ╚══╦══╝ ╚═╩═ bое о ═╦═ 0 = 0H = не лено ╚ ═ второе о ═╝ 0001 = 1H = 360K3 0010 = 2H = 1.2M I11H 9 I12H тип винчестера (╢C: и D:, ░от 1 до 14) B ║ │ ║ C ╚══╦══╝ ╚═╩═ bый винчестер (р. C:) ══╦═0 =отсутствует ╚ ═ второй винчестер (р. D:) ══╝ иГе =ID типа (|)8 1 =исп.адр.19H/1aH См. Типы винчестеров AT ўоб ах, поддерживаемых ў. I13H 9 I14H ╓s B ║drv│dsp│0 0│7│d║ ╙G┴G┴╥┴─╜ ╚╦╝ ╚╦╝ ║ ╚═ 1 = хотя бы oфлоппи-╕овод лен ║ ║ ╚═══ 1 = 80287 соLор лен ║ ╚ ═ bичvдисплей 00 = ~ж√ ║" 01 = 40-кол ї ║" 10 = 80-кол ї ║" 11 = TTL Monochrome ╚═ флоппи-╕оводов без 1 (00=1, 01=2, 10=3, 11=4) I15H основБfь (младш) ══╦═ 0100H=256K, 0200H=512K, 0280H=640K16H основБfь (старш) ══╝17H <ая fь за 1M (младш) ══╦═ (в K-╓ах. 0-3c00H)18H <ая fь (старш)  ═╝ См. р15H Y. 88H I19H ╕0 (р. C:) тип винчестера ░(Їaddr 12H & 0fH) = 0fH1aH ╕1 (р. D:) тип винчестера ░(Їaddr 12H & f0H) = f0H I1bH-2dH 9 I2eH контр. сумма по ╪ам Ї10H..20H (старший ╓)2fH( (младший ╓) I30H <ая fь за 1M (младш) ══╦═ (в K-╓ах. 0-3c00H)31H <ая fь (старш)  ═╝ См. р15H Y. 88H I32H столетие в Фе BCD (Д, 19H) I33H смешанБЮя. ╒7=IBM 128K необязательБплата fи ╒6=исп. утжтой "Setup" I34H-3fH 9. Поместите сюда свое г╢веч{кайфа.N─ р15H5 $ы ║х (ъBю ┴╢╢ │$!╢=$Ь%Типы винчестеров AT ў 2дующие типы  ых ╕ов зашиты в A▄-ў. В Lе POST считывается зе Ї-fи по ╪у 12H (и/ж19H-1aH), и ═ы ╢р41H и р46H анавливаются на ▄-#у, содержащую сведения о типах ленu. Write Land Write Land Type Cyls Hds PreComp Zone Size Type Cyls Hds PreComp Zone Size ▀ ▀ ▀▀▀ ▀ ▀ ▀ ▀ ▀ ▀▀▀ ▀ ▀ ▀ 1 306 4 128 305 10M 16 612 4 0 663 21M 2 615 4 300 615 21M 17 977 5 300 977 42M 3 615 6 300 615 32M 18 977 7 0fH 977 59M 4 940 8 512 940 65M 19 1024 7 512 1023 62M 5 940 6 512 940 49M 20 733 5 300 732 31M 6 615 4 0fH 615 21M 21 733 7 300 732 44M 7 462 8 256 511 32M 22 733 5 300 733 31M 8 733 5 0fH 733 31M 23 306 4 0 336 10M 9 900 15 0fH 901 117M 24-47 9 10 820 3 0fH 820 21M ╔'═╗ 11 855 5 0fH 855 37M ║ ░╒ы типа ╕а есть 0fH (15), ║ 12 855 7 0fH 855 52M ║ то тип ╕а хранится в Ї-fи ║ 13 306 8 128 319 21M ║ по ╪у 19H (р. C:) ж ║ 14 733 7 0fH 733 44M ║ по ╪у 1aH (р. D:) ║ 15 9- внима}! ═╩'═╝ ля: ■ Тип 1 - bоГальv ый ╕XT ■ Тип 2 - )й 20M  ый ╕AT (хорош ╢Гала) ■ Типы 16-23 были включены в ▄-ў11/15/85 Нелегко, хотя и возИ, Эqть а, Нх ~в  табоице. Вы ┤Ьсвою #у с Октными cами и заставЬўи эЭqть ее. Почти единственvспособ до╒ься - наZсвою Главную кь мки ", во ╟мки анавливалась ваша #а. Наи╙надежvметод - aшЬ▄-ў, заменив cы ╢Ъого-нибудь типа а вашими модификациями.N─ #а cов  ого ╕а $ы ║х ─┼╞╟=ю ╛) М4Ь_и _и PC (включая PC-1 и PC-2) _и XT _и AT _и √ DIP-_и на PC и XT сообщают ў, Ъое оборудq}и сколько fи лено. Эти _и опрашиваются во ╟POST ; в поле ўСписок sанавливаются +ующие ╒овые и, │wMисту  Qе р11H (контроль s). Пункты Pведен{выше Кописывают зя _ей ╢ различu)х моделей IBM. Клоны PC могут не отвечать этим описаниям. _и модели Compaq Portable не похожи на _и )х PC и не описаны ни в одном из документов, │uUям Compaq. _и Deskpro располагаются внутри 3{╘а.N─4 буправляющих ╘ов  ╛▄>Х'2╚:@В@Z└░╛░├4░Ь▒_и PC На bоГальном PC (64K материнская плата; известен ЪPC-1), есть два ╘а DIP _ей, помеченwЪSW1 и SW2. Pведем сводку их зй: SW1! SW 2 (PC-1) ON ╓1┬2┬3┬4┬5┬6┬7┬8╖ ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║ │ │ │ │ ║  ║ │▄│▄│▄│▄║ ╙╥┴╥┴G┴G╜ C H╦╝ ╚╦╝ ╚═╩═ 7-8: флоппи-╕оводы ╚══╦══╝ ╚═╩═ 5-8: ┼OFF ║ ║ ║ ╚═ 5-6: активvдисплей ╚ ═ 1-4: ╞го ▌ ║ ║ ╚ ═ 3-4: 3Бплата ▌ ║ ╚ ═ 2: 8087 соLор ╚═ 1: флоппи-╕оводы ╙поздняя версия PC (называемая SW 2 (PC-2) PC-2) едругой ў, Нй ON ╓1┬2┬3┬4┬5┬6┬7┬8╖ Япретирует _и   ║ │▄│▄│▄║ иГе. SW1 - тот же, но SW2 C Япретируется 2дующим образом: ╚═══╦═══╝ ╚═══╩═ 6-8: ┼OFF1 ╚ ═ 1-5: ╞го ▌ На PC и XT вы Йе изменЬдействие положения _ей, изменив ╓ы в списке sв tи ║х ў0:0410 и aмив э. Обязательно поместите сГала 1234H в 0:0472, потом ┴овите р19H .┌─┐│ PC и XT SW1: Флоппи-╕оводы │ Три _я указывают, сколько└─┘ флоппи-╕оводов подключено к 3е. SW1 ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║▄J│ │▀│▀║ 1 флоппи-╕овод (░"их ~, то позиция 1 = ON) C ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║▄J│ │▄│▀║ 2 флоппи-╕овода C ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║▄J│ │▀│▄║ 3 флоппи-╕овода C ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║▄J│ │▄│▄║ 4 флоппи-╕овода C┌─┐│ PC и XT SW1: АктивvЗ│ Эти _и указывают 3е, Ъой└─┘ дисплейv┘Эqть P включении 3ы. ░PC нич▒не выдает Sвключения питания,  Й╧из-за неОкт{положения _ей. SW1 ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║ J▀│▀│ │ ║ ~┘а ж√ C ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║ J▄│▀│ │ ║ 40x25 z╗┘(ї) C ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║ J▀│▄│ │ ║ 80x25 z╗┘(ї) C ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║ J▄│▄│ │ ║ Ж┘(MDA) жоба - MDA и ї C┌─┐│ PC и XT SW1: 8087 │ _ь WсоLору 8087 прерывать└─┘ CPU ( немаскируемое Qе р02H ), Хон в'ечает исключительное условие (Ъделе}на 0). ░он OFF, то должна ╧лена математика ╢от2живания р02H и kения, ┴вано ли Qе hкой четности fи жисключительным условием на 8087. SW1 ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║ │▄J│ │ ║ 8087 лен C ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║ │▀J│ │ ║ 8087 не лен C┌─┐│ PC SW1: 3Бплата ▌│ Оба эти _я ┤╧выключены└─┘ ╢3, имеющих 64K ╓а fи ж ╙(т.е. ╞3ы способны опросЬ*е). SW1 ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║ │ │▄│▄J║ 64K ж╥на 3zплате C┌ ─┐│ PC-1 SW2 (3Бплата ▌) │ Эти _и предназГены ╢└ ─┘ оригиналь{PC (менее 64K на 3z плате), Нй естарую версию ▄-ў; т.е. он не е▄-Scan и не связан с платой расширения жне есамозагружающ▒ся  ого ╕а. Максимальное зе _ей ╢"ой 3ы - 544K. SW2 (PC-1) ON ╓1┬2┬3┬4┬5┬6┬7┬8╖ ле: на PC-1, позиции 5-8 SW2 ┼OFF.  ║▀│▀│▀│▀J║ 64K C ON ╓1┬2┬3┬4┬5┬6┬7┬8╖ ┌1─┐  ║▀│▄│▀│▀J║ 128K │ _и задают двоичное  32K-╓овых│ C │ ╘ов, Pчем OFF задает 1, ON - 0. не │ ON ╓1┬2┬3┬4┬5┬6┬7┬8╖ │ обращаться к схеме, просто запомните: │  ║▀│▀│▄│▀J║ 192K │1 │ C │ позиция 4 = 256K (ON=0, OFF=1) │ ON ╓1┬2┬3┬4┬5┬6┬7┬8╖ │ позиция 3 = 128K │  ║▀│▄│▄│▀J║ 256K │ позиция 2 = 64K │ C │ позиция 1 = 32K │ ON ╓1┬2┬3┬4┬5┬6┬7┬8╖ │1 │  ║▀│▀│▀│▄J║ 320K │ Сложите их, добавьте 64K (3Бплата ▌) │ C │ и получите общую fь в 3е. │ ON ╓1┬2┬3┬4┬5┬6┬7┬8╖ └1─┘  ║▀│▄│▀│▄J║ 384K C ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║▀│▀│▄│▄J║ 448K C ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║▀│▄│▄│▄J║ 512K C ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║▄│▄│▄│▄J║ 544K C┌ ─┐│ PC-2 SW2 (3Бплата ▌) │ Эти _и - ╢поздних версий PC└ ─┘ (известuЪPC-2), позволяющих иметь 256K на 3zплате. Они Pменимы !к PC-1 (64K 3Бплата), ░в 3е лена ╙поздняя версия ▄-ў. ░у вас есть самозагружаемый  ый ╕жшасси расширения IBM, зГит, вы ее PC-2 ▄. МаксимальБfь ╢модели - 640K. SW2 (PC-2) ON ╓1┬2┬3┬4┬5┬6┬7┬8╖ ле: на PC-2, позиции 6-8 SW2 ┼OFF.  ║▀│▀│▀│▀│▀│ │ │ ║ 64K C ON ╓1┬2┬3┬4┬5┬6┬7┬8╖ ┌1─┐  ║▀│▄│▀│▀│▀│ │ │ ║ 128K │ _и задают двоичное  32K-╓овых│ C │ ╘ов, Pчем OFF задает 1, ON - 0. не │ ON ╓1┬2┬3┬4┬5┬6┬7┬8╖ │ обращаться к схеме, просто запомните: │  ║▀│▀│▄│▀│▀│ │ │ ║ 192K │1 │ C │ позиция 5 = 512K (ON=0, OFF=1) │ ON ╓1┬2┬3┬4┬5┬6┬7┬8╖ │ позиция 4 = 256K │  ║▀│▄│▄│▀│▀│ │ │ ║ 256K │ позиция 3 = 128K │ C │ позиция 2 = 64K │ ON ╓1┬2┬3┬4┬5┬6┬7┬8╖ │ позиция 1 = 32K │  ║▀│▀│▀│▄│▀│ │ │ ║ 320K │1 │ C │ Сложите их, добавьте 64K и получите общую ▌. │ ON ╓1┬2┬3┬4┬5┬6┬7┬8╖ └1─┘  ║▀│▄│▀│▄│▀│ │ │ ║ 384K C ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║▀│▀│▄│▄│▀│ │ │ ║ 448K C ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║▀│▄│▄│▄│▀│ │ │ ║ 512K C ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║▀│▀│▀│▀│▄│ │ │ ║ 576K C ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║▀│▄│▀│▀│▄│ │ │ ║ 640K C ле: ка _ей fи ┼была сущим бедствием ╢ Uей со времен изобретения PC. ░_и стоят не ", вы получите неисправимую hку fи, и вам Pдется выключать компьютер и aзагружаться. Проблема осложняется тем,  большинство плат fи имеют свои собственw_и, Не !┤╧Октными. ПолезvPем - в том,  вы те небольшое зе, включаете компьютер и запускаете CHKDSK. Убедившись,  ╞в порядке, задаете ╥е зе, и повторяете L, пока не возник~hка. Между прочим, ░вы покажете ╥640K, ў╤счастлив, но э заг~ся (транзитБчасть Єзагружается в наивысшие ╪а ▌).N─ Список s зя _ей PC буправляющих ╘ов ъ ю6 ─ю#╛#├4#Ь$_и XT Модель ■XT■ еединственv╘DIP _ей: SW1 (XT)ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║▄│ │ │ │ ║ ╙╥┴╥┴G┴G╜ H╦╝ ╚╦╝ ╚═╩═ 7-8: флоппи-╕оводы ║ ║ ║ ╚═ 5-6: Гально активvдисплейvЗ ║ ║ ╚ ═ 3-4: 3Бплата ▌ ║ ╚ ═ 2: 8087 ╚═ 1: цикл POST (┼OFF) Позиции 2, 5-6 и 7-8 - те же,  ╢модели PC. См. _и PC┌─┐│ XT ▌│ XT POST kяет общую 3ную fь, сканируя ╪ное└─┘ про'анство ▌в поиске 32K ╘ов (POST в Lе работы выдает yа этих ╘ов на ). Пому вам не изменять положе} _ей, Хвы добавляете жудаляете дополнительwплаты fи. ╙того, вы не обязаны полностью забивать 3ную плату (сверх 128K), ╢того подключЬдополнительwплаты fи. _и 3-4 описывают fь на 3zплате XT:' ▀ SW1 (XT)ON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║ │ │▄│▀J║ 128K CON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║ │ │▀│▄J║ 192K CON ╓1┬2┬3┬4┬5┬6┬7┬8╖  ║ │ │▄│▄J║ 256K CN─ Список s _и PC буправляющих ╘ов ъ ┴:ю ┴#╚'╛'├4'Ь(_и AT Модель Aне е╘ов DIP _ей. Конфигурация s тся Mой SETUP, включенzв состав ╕еты DIAGNOSTICS. См. Ї-fь на предмет дополнительzЮи. У AT две опции на 3zплате, мые _ями. Соедине}с меткой J18, расположенное на `ней стороне 3zплаты, воздействует на Эq}▌-fи 3zплаты. ╔J18╗1 ║┌┐║ РАЗРЕШИТЬ Эq}второго 256K ╘а (512K на 3zплате)2 ║└┘║3 ║  ║ ╚═══╝ ╔J18╗1 ║  ║2 ║┌┐║3 ║└┘║ ЗАПРЕТИТЬ Эq}второго 256K ╘а (256K на 3zплате) ╚═══╝ oарvскользящий _ь SW1 сзади 3zплаты kяет Гальvдисплейv┘. Он Эуется Mой POST , но е смысл лишь тогда, ХЇ-fь (с полным списком s) потеряла пита}жсбилась по иzPчине. _ь bичv дисплейv┘, Нй ╤Эqть Mа SETUP. ╔SW1╗ ║▐█▌║ ON ON (к заду) z╗┘(ї) bичен ║ ║ OFF ╚═══╝ ╔SW1╗ ║ ║ ON ║▐█▌║ OFF OFF (к `у) Ж┘(MDA) bичен ╚═══╝ле: Случай √противоречит му, считая положе}OFF ╢од{ їи ON ╢любого другого ┘а жкомбинации ┘ов. Заметьте ╢себя!N─ Список s _и PC буправляющих ╘ов ╚5╔&3╚C х;J ЛM╛M├4MЬN_и √ DIP-_и сзади √указывают, Ъой дисплейvЗPсоединен к плате, и Ъие другие ┘ы (░есть) подключены к 3е в то же ╟. Эти _и отображаются в fи. См. tи ║х √ Существует oОЧЕНЬ ОПАСНЫЙ момент: ниХне включайте Ж(TTL) ЗIBM в ┘ъ, ░_и не лены Октным образом. Неправильное положе}_ей физически исTит З! В 2дующей #е, "bичv" обозГает ┘/З, Нй активизируется bым Pвключении компьютера. "Вторичv" обозГает необязательvвторой ┘/З, Нй Й╧подключен.ON ╓4┬3┬2┬1╖ bичvъ, 40x25 zЗ  ║▀│▄│▄│▀║ ВторичvMDA ╙G┴─╜ON ╓4┬3┬2┬1╖ bичvъ, 80x25 zЗ  ║▀│▄│▄│▄║ ВторичvMDA ╙G┴─╜ON ╓4┬3┬2┬1╖ bичvъ, <ый zЗ(эмуляция ї)  ║▄│▀│▀│▀║ ВторичvMDA ╙G┴─╜ON ╓4┬3┬2┬1╖ bичvъ, <ый zЗ(лучшее разреше})  ║▄│▀│▀│▄║ ВторичvMDA ╙G┴─╜ON ╓4┬3┬2┬1╖ bичvъ, ЖЗ  ║▄│▀│▄│▀║ Вторичvї, 40x25 zЗ ╙G┴─╜ON ╓4┬3┬2┬1╖ bичvъ, ЖЗ  ║▄│▀│▄│▄║ Вторичvї, 80x25 zЗ ╙G┴─╜ON ╓4┬3┬2┬1╖ bичvMDA  ║▀│▀│▀│▀║ Вторичvъ, 40x25 zЗ ╙G┴─╜ON ╓4┬3┬2┬1╖ bичvMDA  ║▀│▀│▀│▄║ Вторичvъ, 80x25 zЗ ╙G┴─╜ON ╓4┬3┬2┬1╖ bичvMDA  ║▀│▀│▄│▀║ Вторичvъ, <ый zЗ(эмуляция ї) ╙G┴─╜ON ╓4┬3┬2┬1╖ bичvMDA  ║▀│▀│▄│▄║ Вторичvъ, <ый zЗ(лучшее разреше}) ╙G┴─╜ON ╓4┬3┬2┬1╖ bичvї, 40x25 zЗ  ║▀│▄│▀│▀║ Вторичvъ, ЖЗ ╙G┴─╜ON ╓4┬3┬2┬1╖ bичvї, 80x25 zЗ  ║▀│▄│▀│▄║ Вторичvъ, ЖЗ ╙G┴─╜┌─┐│ ъсоединения │ Три соединения на √управляют различными средствами└─┘ на плате. Соединения Эуются 2дующим образом: ╔P1═╗ 1 ║┌┐║ Поддерживает <ый zЗ(640x350 и 64 а) 2 ║└┘║ 3 ║  ║ ╚═══╝ ╔P1═╗ 1 ║  ║ 2 ║┌┐║ 3 ║└┘║ Поддерживает zЗ(640x200 и 16 ов) ╚═══╝ P2 - соединитель ╢светового пера. ╔P3═╗ 1 ║┌┐║ . Tы в/в ъна 3xxH (нормальное зе) 2 ║└┘║ 3 ║  ║ ╚═══╝ ╔P3═╗ 1 ║  ║ 2 ║┌┐║ 3 ║└┘║ . Tы в/в ъна 2xxH НЕ ПОДДЕРЖИВАЕТСЯ √ў ╚═══╝N─ Список s _и PC буправляющих ╘ов  К Л▄╔ х╟╦<ый ╗┘(ъ) ъ, вообще говоря, совместим снизу вверх с ї(ным) и MDA (монохромным дисплейным ┘ом), но он ем{дополнительuвозИстей, Не делают ▒зГительно ╙удобным ╢многих Pложений.В эти средства ─ят: текст и ╝высокого разрешения  64 а в :ах текста и графики ╝на монохромном Зе  гладкое листа}(на уровне точек) Mwфонты в текстовых :ах  аппаратное расщепле}а одновременное Эq}разu2дующие темы ърассматриваются здесь: ╦:ы  . включает :ы ъ √ў . специальwсредства ъ, │w ▄-ў tь ║х ў.. включает ъ-jw^енwв fи tи ║х √. $ы Юонu╘ов ъ Tы в/в ъ. ╪а Tов в/в; ;ы ╦Ра _и √.. эти непонятw_и сзади ┘а Фонты Фовых &. Яфейс эс фонтами ъ  / Л9Й3╟'3 К; ЛERЫ?bЫg Лgх g╟6g ▄Hg╚htи ║х √ Эти поля ║х kяются Pке √ў.┌─┐│ √СмешанБЮя │ ╓ы по ╪ам 0:0487 и 0:0488 содержат└─┘ ╒овые и с Юей, касающейся *я ъ. Большинство их Й╧получено  р10H Y. 12H.B║ │▌J│ ║ 0:0487 ── ъсмешанБЮя╙╥┴G┴D┴╥╜ ╒ ║ ╚╦╝ ║ H═ 0: 1=эмуляция Ма разрешена ║ ║ H═══ 1: 1=ъPсоединен к монохромному дисплею ║ ║ ║ ╚═ 2: 1=ж╣обрат{хода; 0=И┼Zв ╦▌ ║ ║ ╚═ 3: 1=ъне активен ║ ╚ ═ 5-6: ъ╞го ▌(00=64K; 01=128K; 10=192K; 11=246K) ╚═ 7: старший ╒╦:а (1=не очищен)B║средств│ DIPы ║ 0:0488 ── ъсмешанБЮя, про╡иеC╒ ╚══╦══╝ ╚═╩═ 0-3: DIP _и. См. _и √ ╚ ═ 4-7: ╒ы средств.┌─┐│ √SAVE_PTR (0:04a8) │ 4-╓овый ь в 0:04a8 назван SAVE_PTR└─┘ кем-то, не имеющим воображения. Он на #у ей ╘ов ║х ъ. Вы Йе a╪qть ═ на другую tь ║х, в которой вы задаете свои собственwфонты и опции. rкопируют в свою tь ую #у, а иизменяют то,  надо. Вы Йе сделать вашу #у ║х ърезидентz, она Эqлась независимо от изменения ╦:ов.0. ╖.е▀ ▀ A▀ ┌─┬─┐ +0 4 │ 0. 7│ ╪#ы ╦cов ъ ├───┴───┼───┴───┤ +4 4 │ 0. 7│ ╪tи сохранения динамических cов ├───┴───┼───┴───┤ +8 4 │ 0. 7│ ╪инф. о доп. фонтах текстового :а ├───┴───┼───┴───┤+0cH 4 │ 0. 7│ ╪инф. о доп. фонтах графического :а ├F───┴───┼ ─┐+10H 0cH │ 3 dword-╪а │ 9 └─┘┌─┐│ ╦cы ъ│ ╪обязателен. bоГально на└─┘ #у в ▄. #а должна иметь длину 1472 ╓а, по 64 ╓а ╢каждого из 23 различu╦:ов. В #е cов :ы 0-10H aчи2ны в ╦:ах ╢ъс 64K. :ы 11H-12H служат ╢350-'очzграфики с 128K+ на плате. :ы 13H-16H - 350-'очw ╠:ов 0-3 PЭqнии <ого { дисплея. К сожалению, нам неизвестна $а #ы.┌─┐│ tь сохр. динамич. парам│ Необязательно. ░лено в 0:0,└─┘ то не Эуется. ИГе на tь fи, в которой √ў╤отображать неНе зя, посылаемые в ;ы Tов в/в. tь е2дующую $у: 0. ╖.е ▀ ▀ 2▀ +0 10H ╓овые зя ╢16 ;ов палитры +10H 1 ╢;а бордюра +11H 0efH 9(#ы ┤иметь длину 100H)┌ ─┐│ обл. доп. текст. :а │ Необязательно. ░0:0, не└ ─┘ Эуется. ИГе на #у ║х ╢генерации 4ов в +ующих текстовых :ах. Вы ╤е Эqть ═╢ки собственu. 0. ╖.е ▀ ▀ 2▀ +0 1  ╓на 4в kении фонта +1 1 ▌╘╢мки (0 ╢rй nи) +2 2  загружаемых 4ов (r╞256) +4 2 /4а (r0 ╢пол{фонта) +6 4 DWORD-╪#ы фонта #а фонта - 256 групп по 8 ж14 ╓ (группа +ует 4у). См. р1fH +0aH 1  %на е (исп. 0ф, ўвыяснил точное  ) +0bH 1-? oж╓, указывающих, к Ъим текстовым :ам Pменима #а. Указывайте 0фв конце списка.┌!─┐│ обл. доп. графич. :а │ Необязателен. ░0:0, не└!─┘ Эуется. ИГе ╪ на #у ║х, Эуемую ╢генерации 4ов в +ующих графических :ах. 0. ╖.е ▀ ▀ 2▀ +0 1  %на е +1 2 ╓на 4 +3 4 DWORD-╪#ы фонта. См. р1fH +7 1-? oж╓, указывающих, к Ъим текстовым :ам Pменима #а. Указывайте 0фв конце списка.N─ √ў √Tы в/в √_и ║е ў √  ыA["╦-E .Й 1E 4\7╦: y:E:[!:\':╦;Фqя &а Гвс ╠3.3 , эпредоставляет на 3ном уровне механизм ╢ ки альтернативuа (ъи LCD) и Oа. Фqя &а - справочник из 256 кей, по одzна ЫФ·. aключе}Фовых &в 'анах, отличuот США, Х фонты Шы, дисплея и Oа не +уют )м, зашитым в аппаратуре. Фовые &ы, поддерживаемые э3.3, включают: Hex Dec Язык ▀ ▀▀▀ ▀ 1b5H 437 английский 352H 850 мультиязыковый 35cH 860 Tугальский 35fH 863 канадско-французский 365H 865 норвежский и датский Реализация Фовых &существенно различна ╢разu. Однако на Uьском уровне сводится к некоторой фильтрующей 3е, транслирующей ─z4в ╜z4. Я, Ъи вы, терпеть не могу бессмы2н{названия "Фqя &а", но стандарт, Нй в'оен и в OS/2, и в конечном счете предоставляет )й способ akения 4ов ╢ъи IBM Proprinter'а, достаточно гибкий, обеспечЬ независимость от и гибкость Pмодернизации аппаратуры. Некоторая Юя, имеющая отноше}к Фовым &ам:■ Config.Sys file -директиву COUNTRY=, задающую умалчиваемую Фовую &у и с Юей 'аны. См. !ь65H■ Директивы DRIVER= в Config.Sys анавливают ▓ы  DISPLAY.█и PRрER.█, "знающие" о Фовых &ах.■ ы '.CPI', поставляемые с э, содержат Юю Фовых &╢ выбран{а. См. Фонты Фовых &■ Уа NLSFUNC т средства aключения &(возИ, aкрывая Фовых &, за║й в Config.Sys), и должна ╧ выдана до того, Ъста~│ным aключе}&.■ Уы 3.3 MODE и CHCP могут подготавливать и выбирать Фовую &у.■ Хвы 'готовите' Фовую &у Уой MODE, .CPI Эуется ╢akения фонта. Д, 4'$' Й╧akен в 4'Ь'. akе}еместо на уровне ▓а а посредством УFn 44H (▀). ╢ъ, выдаются +ующие ┴овы ў( р10H ), akЬнабор 4ов. ╢Oа, новый набор 4ов Й╧загружен и выбран Ъумалчиваемый.■ ь44H Y. 0cH предоставляет ▀-Яфейс с ▓ами , способными управлять aключе}м Фовых &.■ ь66H Wвам выбирать подготовленную Фовую &у ж извлекать зе ей активzФовой &ы. @Фонты Фовых &описывает $у ов , Эуемых +ующими ▓ами .N─ Config.Sys ьs 44H 65H 66H ы .CPI ыE" ╩e╩eE1e yfы Фовых & ▓ы э3.3 , поддерживающие aключе}Фовых & (посредством УFn 44H (▀)), читают ы специаль{а, на'оЬо на выбранvфонт. ы э3.3 .CPI имеют 2дующий (упрощенно): нок библиотеки  гбиблиотеки  /Юи  Юя  Юя Фовой &ы ь на 2дующую Юю  тип а (дисплей/O) и подтип (ъ, LCD и т.д.) yФовой &ы. См. Фовые &ы /нка ║х ╢Фовой &ы нок ║х   kенu Фонт 1 %, колонок (Д, 14, 8) 4ов:  4ов, kенuв м фонте ║е (пикселы) - общая ╖(%* колонок * 4ов) / 8 ╓ Фонт 2 . : Фонт n Pмер: $а ов с фонтами ╢ъ.0. ╖.е▀ ▀ B▀ ┌───┐ +0 1 │ф│ идентификатор библиотеки  ├───┴─┐ +1 7 │'F' 'O' 'N' 'T' ' ' ' ' ' '│ выравнено влево, дополнено пробелами ├EF───┴───┐ +8 8 │ 00 00 00 00 00 00 00 00│ (8 ╓за9ирqно) ├───┴───┼E───┴───┘ +10H 2 │ 01 00 │  ей в нке (1 ╢э3.3) ├───┼───┘ +12H 1 │ 01│ Тип я (1 ╢э3.3) ├───┼ ─┐ +15H 4 │ 17 00 00 00 │ (DWORD) /в е Юи  └F───┴───┘ ┌─┐ ВЮи : +17H 2 │ 01 00 │  Фовых & └───┴───┘ ┌─┐ Внка Фовой &ы: +19H 2 │ 1c 00 │ >нка ├───┴───┼─┐ +1bH 4 │ 00 00 00 00 │ (DWORD) /в е 2дующ▒нка ├───┴───┼───┴───┘ (0 0 озГает,  Sдний) +1fH 2 │ 01 00 │ тип а (1=дисплей, 2=O) ├F─┐ +21H 8 │'E' 'G' 'A' ' ' ' ' ' ' ' ' ' '│ подтип; га  ├───┴───┼E───┴───┘ выравнено влево, дополнено +29H 2 │ b5 01 │ yФовой &ы (1b5H=437=стандарт США) ├F─┐ +2bH 6 │ 00 00 00 00 00 00│ (6 ╓за9ирqно) ├F───┴───┼───┴───┘ +31H 4 │ 35 00 00 00 │ (DWORD) /в е нка ║х └F───┴───┘ ╢&ы ┌─┐ Внка ║х: +35H 2 │ 01 00 │ (9: должно ╧1) ├───┴───┤ +37H 2 │ 02 00 │  ╢Фовой &ы ├───┴───┤ +39H 2 │ 01 00 │ общая ╖╞х Sдующих  └───┴───┘ ┌───┐ Вbого фонта: +3bH 1 │ 0e│ %на 4(0eH=14; 350-'очv:) ├───┤ +3cH 1 │ 08│ колонок на 4 ├───┴───┐ +3dH 2 │ 00 00 │ пропорция (не Эуется) ├───┴───┤ +3fH 2 │ 00 01 │  4ов в фонте (Д, 100H = 256) └───┴───┘ ┌─ ─ ─ ─┐ В║х (пикселов): +41H e00H │ │ Ы4занимает (%* колонок) ╒, └──┴──┴─ ─ ─ ─┴──┘ хранится по %ам. ", ╢4а 14 % по 8 колонок, Ы╓kяет %у, " 14 ╓на o4. (256 * 14) = 3584 = 0e00H ╞го ╓в фонте. ┌───┐ Ввторого фонта:+e41H 1 │ 08│ %на 4 ├───┤+e42H 1 │ 08│ колонок на 4 ├───┴───┐+e43H 2 │ 00 00 │ пропорция (не Эуется) ├───┴───┤+e45H 2 │ 00 01 │  4ов в фонте (Д, 100H = 256) └───┴───┘ ┌─ ─ ─ ─┐ В║х (пикселов):+e47H 800H │ │ Ы48x8 занимает 8 ╓. └──┴──┴─ ─ ─ ─┴──┘ (256 4ов * 8) = 2048 = 0800H ╞го ╓. . :+? ТаN─ Фовые &ы ь44H (▀) Y. 0cH Config.Sys ═*╬ ╧ ╨ ╤╥╙╘Набор ин'укций 8088/8086/286 #а ин'укций Ин'укции с дополнительным Фом nи Ин'укции по ональным группам: Арифметика `ача ║х е выполне}м е Lором е защитой (80286) %овые nи #ъ╬╬╬!╬(╬(╬+╬+╬+╬!+╬=1╬F1╬DS:[lmts+2]) то р5ENTER frmsiz,frms . фрейм стека языка высокого уровня. bая nя в ┴ываемой (CALL) процедуре. ▌286▐ . То же,  : PUSH BP; (повторЬfrms раз) MOV BP,SP; PUSH SP; SUB SP,frmsize ;(распределЬдинамич. fь в стеке)LEAVE отменЬдействие ENTER. Эуется `RET. Восстанавливает SP и BP к зям `ENTER.рtype ┐Mное Qе (┴ов 3н.и) PUSHF; IF0; TF0; PUSH CS; PUSH IP IP 0:[type * 4]; CS  0:[(type * 4) + 2]рO type ░OF==OV==1, то ┐рtypeIRET возврат из Qя. Действие эквивалентно 2дующему: POP IP; POP CS; POPFP─= Набор ин'укций . ъ=╠Ин'укции я LоромCLC очистЬaноса! (CF0)CMC инвертирqть зе а aноса (CF ~CF)STC взвести aноса" (CF1)CLD очистЬнаправления (автоинкремент %) (DF0)STD взвести направления (автодекремент %) (DF1)CLI запретЬмаскируемые аппаратwQя (IF0)STI разрешЬмаскируемые аппаратwQя (IF1)CTS взвести aключения задач. ▌286▐ . (TF1)HLT остановЬработу Lора (ж╣Qя)WAIT/FWAIT ж╣активности TEST-линии (синхронизация с соLором)LOCK (префикс) предотвратЬвыборку соLором 2дующей ин'укцииSEG segreg (префикс) aкрыть умалчиваемый segreg ╢очеред{вычи2ния исполнитель{╪аP─= Набор ин'укций .ъ=╠Ин'укции я защитой╞ин'укции здесь действительны ╢▌286▐ (не│ны на 8088/86)LGDT src мЬ#у глобальuдескрипторов (GDT) из src (6 ╓)SGDT dest поместЬ6-╓овую GDT в fь по ╪у destLIDT src мЬ#у дескрипторов Qй (IDT) из src (6 ╓)SIDT dest поместЬ6-╓овую IDT в fь по ╪у destLLDT src мЬ#у локальuдескрипторов (LDT) из reg/mem16SLDT dest поместЬ;LDT в dest (r/m16)LMSW src мЬ1*я машины (MSW) (╢защищен{:а)SMSW src поместЬMSW в reg/mem16LTR src мЬ;задачи (TR) из reg/mem16STR dest поместЬTR в reg/mem16LAR dest,src мЬв старший ╓dest права │а из дескриптора srcLSL dest,src мЬв dest границу 7а из дескриптора srcARPL lvl Pвести уровень Pвилегий к наи╥му из ▒и lvlVERR seg . ZF=ZR ░задача прочитала Pвилегии ╢7а segVERR seg . ZF=ZR ░задача кала Pвилегии ╢7а segP─= Набор ин'укций ъ!ъ=$╠%Ин'укции %овой обработкиCLD очистЬнаправления (DFUP0)  (Delta) - положительна, автоинкремент %STD взвести направления (DFDN1)  (Delta) - отрицательна, автодекремент %REP/REPE/REPZ (префикс) повтор: повторять %овую nю CX(CX-1); nя повторяется до момента CX==0REPNE/REPNZ (префикс) повтор: полезно ╢nй CMPS и SCAS ZF0; CX(CX-1); повторяется пока (CX!=0 и ZF==0)MOVSB копирqть %у ╓(слов) (╓:=1, слов:=2)MOVSW ES:[DI]DS:[SI]; DI+=; SI+=LODSB копирqть %у ╓(слов) в AL(AX) AL  DS:[SI]; SI+=1;LODSW AX  DS:[SI]; SI+=2;STOSB поместЬ╓(1) в %у ES:[DI]AL; DI+=1;STOSW ES:[DI]AX; DI+=2;CMPSB сравнЬ%и ╓(слов) (╓:=1, слов:=2)CMPSW и(результат CMP DS:[SI],ES:[DI]); DI+=; SI+=SCASB найти ╓(1) в %е и(результат CMP DS:[DI],AL); DI+=1SCASW и(результат CMP DS:[DI],AX); DI+=2INSB ╓(1) из Tа в %у (╓:=1, 1:=2)INSW ▌286▐ . ES:[DI](╓/1из Tа DX); DI+=;OUTSB ╓(1) из %и в T(╓:=1, 1:=2)OUTSW ▌286▐ . [TDX]DS:[SI]; SI+=;P─= Набор ин'укций  3╓ '┘ ║ █ ╫╪╒#■· ·- сокраще}от ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ │A│merican │S│tandard │C│ode for │I│nformation │I│nterchange └─┘ └─┘ └─┘ └─┘ └─┘набор произвольно заФирqнuтекстовых и управляющих 4ов.Младшие 128 ов набора ·формально kены. Фовые зявыше 127 (7fH) Япретируются различным образом на разuкомпьютерах,Oах и т.п. ·десятичw, шестнадцатеричwи двоичwФы Псевдографические и специальw4ы <ые Чи · Фы Oа Epson/IBM #а 4ов Фы%а ∙(Эуемая во многих ях эи в языке C) представляетсобой Rьность 4ов ·, заканчивающуюся ╓ом 00H. Нажмите ╢возврата в предыдущий @ S┘S╪2S╫HS╒T·: #а +ия 4ов и их Фов Ё Ё Ё Ё ╒═╤═ ╒═╤═ ╒═╤═ ╒═╤═ │ │ 0 00 o ││ 16 10 ooo1o │ │ 32 20 oo1o │0│ 48 30 0o11o │ │ 1 01 o1 ││ 17 11 ooo1ooo1 │!│ 33 21 oo1o1 │1│ 49 31 oo11ooo1 │ │ 2 02 o1o ││ 18 12 ooo1oo1o │"│ 34 22 oo1ooo1o │2│ 50 32 oo11oo1o │ │ 3 03 o11 ││ 19 13 ooo1oo11 │#│ 35 23 oo1ooo11 │3│ 51 33 oo11oo11 │ │ 4 04 o1oo ││ 20 14 ooo1o1oo │$│ 36 24 oo1oo1oo │4│ 52 34 oo11o1oo │ │ 5 05 o1o1 ││ 21 15 ooo1o1o1 │%│ 37 25 oo1oo1o1 │5│ 53 35 oo11o1o1 ││ 6 06 o11o ││ 22 16 ooo1o11o │&│ 38 26 oo1oo11o │6│ 54 36 oo11o11o ││ 7 07 o111 ││ 23 17 ooo1o111 │'│ 39 27 oo1oo111 │7│ 55 37 oo11o111 ││ 8 08 o1ooo ││ 24 18 ooo11ooo │(│ 40 28 oo1o1ooo │8│ 56 38 oo111ooo │ │ 9 09 o1oo1 ││ 25 19 ooo11oo1 │)│ 41 29 oo1o1oo1 │9│ 57 39 oo111oo1 │ │ 10 0a o1o1o ││ 26 1a ooo11o1o │*│ 42 2a oo1o1o1o │:│ 58 3a oo111o1o │ │ 11 0b o1o11 ││ 27 1b ooo11o11 │+│ 43 2b oo1o1o11 │;│ 59 3b oo111o11 │ │ 12 0c o11oo ││ 28 1c ooo111oo │,│ 44 2c oo1o11oo │<│ 60 3c oo1oo │ │ 13 0d o11o1 ││ 29 1d ooo111o1 │-│ 45 2d oo1o11o1 │=│ 61 3d oo1o1 ││ 14 0e o111o ││ 30 1e ooo1o │.│ 46 2e oo1o111o │>│ 62 3e oo1o ││ 15 0f o1 ││ 31 1f ooo1 │/│ 47 2f oo1o1 │?│ 63 3f oo1 └─┘ └─┘ └─┘ └─┘ Ё Ё Ё Ё ╒═╤═ ╒═╤═ ╒═╤═ ╒═╤═ │@│ 64 40 o1o │P│ 80 50 o1o1o │`│ 96 60 o11o │p│112 70 o111o │A│ 65 41 o1o1 │Q│ 81 51 o1o1ooo1 │a│ 97 61 o11o1 │q│113 71 o111ooo1 │B│ 66 42 o1o1o │R│ 82 52 o1o1oo1o │b│ 98 62 o11ooo1o │r│114 72 o111oo1o │C│ 67 43 o1o11 │S│ 83 53 o1o1oo11 │c│ 99 63 o11ooo11 │s│115 73 o111oo11 │D│ 68 44 o1ooo1oo │T│ 84 54 o1o1o1oo │d│100 64 o11oo1oo │t│116 74 o111o1oo │E│ 69 45 o1ooo1o1 │U│ 85 55 o1o1o1o1 │e│101 65 o11oo1o1 │u│117 75 o111o1o1 │F│ 70 46 o1ooo11o │V│ 86 56 o1o1o11o │f│102 66 o11oo11o │v│118 76 o111o11o │G│ 71 47 o1ooo111 │W│ 87 57 o1o1o111 │g│103 67 o11oo111 │w│119 77 o111o111 │H│ 72 48 o1oo1ooo │X│ 88 58 o1o11ooo │h│104 68 o11o1ooo │x│120 78 o1ooo │I│ 73 49 o1oo1oo1 │Y│ 89 59 o1o11oo1 │i│105 69 o11o1oo1 │y│121 79 o1oo1 │J│ 74 4a o1oo1o1o │Z│ 90 5a o1o11o1o │j│106 6a o11o1o1o │z│122 7a o1o1o │K│ 75 4b o1oo1o11 │[│ 91 5b o1o11o11 │k│107 6b o11o1o11 │{│123 7b o1o11 │L│ 76 4c o1oo11oo │\│ 92 5c o1o111oo │l│108 6c o11o11oo │|│124 7c o1oo │M│ 77 4d o1oo11o1 │]│ 93 5d o1o111o1 │m│109 6d o11o11o1 │}│125 7d o1o1 │N│ 78 4e o1oo111o │^│ 94 5e o1o1o │n│110 6e o11o111o │~│126 7e o1o │O│ 79 4f o1oo1 │_│ 95 5f o1o1 │o│111 6f o11o1 ││127 7f o1 └─┘ └─┘ └─┘ └─┘ Ё Ё Ё Ё ╒═╤═ ╒═╤═ ╒═╤═ ╒═╤═ │А│128 80 1o │Р│144 90 1oo1o │а│160 a0 1o1o │░│176 b0 1o11o │Б│129 81 1o1 │С│145 91 1oo1ooo1 │б│161 a1 1o1o1 │▒│177 b1 1o11ooo1 │В│130 82 1o1o │Т│146 92 1oo1oo1o │в│162 a2 1o1ooo1o │▓│178 b2 1o11oo1o │Г│131 83 1o11 │У│147 93 1oo1oo11 │г│163 a3 1o1ooo11 │││179 b3 1o11oo11 │Д│132 84 1o1oo │Ф│148 94 1oo1o1oo │д│164 a4 1o1oo1oo │┤│180 b4 1o11o1oo │Е│133 85 1o1o1 │Х│149 95 1oo1o1o1 │е│165 a5 1o1oo1o1 │╡│181 b5 1o11o1o1 │Ж│134 86 1o11o │Ц│150 96 1oo1o11o │ж│166 a6 1o1oo11o │╢│182 b6 1o11o11o │З│135 87 1o111 │Ч│151 97 1oo1o111 │з│167 a7 1o1oo111 │╖│183 b7 1o11o111 │И│136 88 1ooo1ooo │Ш│152 98 1oo11ooo │и│168 a8 1o1o1ooo │╕│184 b8 1o111ooo │Й│137 89 1ooo1oo1 │Щ│153 99 1oo11oo1 │й│169 a9 1o1o1oo1 │╣│185 b9 1o111oo1 │К│138 8a 1ooo1o1o │Ъ│154 9a 1oo11o1o │к│170 aa 1o1o1o1o │║│186 ba 1o111o1o │Л│139 8b 1ooo1o11 │Ы│155 9b 1oo11o11 │л│171 ab 1o1o1o11 │╗│187 bb 1o111o11 │М│140 8c 1ooo11oo │Ь│156 9c 1oo111oo │м│172 ac 1o1o11oo │╝│188 bc 1o1oo │Н│141 8d 1ooo11o1 │Э│157 9d 1oo111o1 │н│173 ad 1o1o11o1 │╜│189 bd 1o1o1 │О│142 8e 1ooo111o │Ю│158 9e 1oo1o │о│174 ae 1o1o111o │╛│190 be 1o1o │П│143 8f 1ooo1 │Я│159 9f 1oo1 │п│175 af 1o1o1 │┐│191 bf 1o1 └─┘ └─┘ └─┘ └─┘ Ё Ё Ё Ё ╒═╤═ ╒═╤═ ╒═╤═ ╒═╤═ │└│192 c0 11o │╨│208 d0 11o1o │р│224 e0 111o │Ё│240 f0 1o │┴│193 c1 11o1 │╤│209 d1 11o1ooo1 │с│225 e1 111o1 │ё│241 f1 1ooo1 │┬│194 c2 11o1o │╥│210 d2 11o1oo1o │т│226 e2 111ooo1o │Є│242 f2 1oo1o │├│195 c3 11o11 │╙│211 d3 11o1oo11 │у│227 e3 111ooo11 │є│243 f3 1oo11 │─│196 c4 11ooo1oo │╘│212 d4 11o1o1oo │ф│228 e4 111oo1oo │Ї│244 f4 1o1oo │┼│197 c5 11ooo1o1 │╒│213 d5 11o1o1o1 │х│229 e5 111oo1o1 │ї│245 f5 1o1o1 │╞│198 c6 11ooo11o │╓│214 d6 11o1o11o │ц│230 e6 111oo11o │Ў│246 f6 1o11o │╟│199 c7 11ooo111 │╫│215 d7 11o1o111 │ч│231 e7 111oo111 │ў│247 f7 1o111 │╚│200 c8 11oo1ooo │╪│216 d8 11o11ooo │ш│232 e8 111o1ooo │°│248 f8 1ooo │╔│201 c9 11oo1oo1 │┘│217 d9 11o11oo1 │щ│233 e9 111o1oo1 │∙│249 f9 1oo1 │╩│202 ca 11oo1o1o │┌│218 da 11o11o1o │ъ│234 ea 111o1o1o │·│250 fa 1o1o │╦│203 cb 11oo1o11 │█│219 db 11o11o11 │ы│235 eb 111o1o11 │√│251 fb 1o11 │╠│204 cc 11oo11oo │▄│220 dc 11o111oo │ь│236 ec 111o11oo │№│252 fc 1oo │═│205 cd 11oo11o1 │▌│221 dd 11o111o1 │э│237 ed 111o11o1 │¤│253 fd 1o1 │╬│206 ce 11oo111o │▐│222 de 11o1o │ю│238 ee 111o111o │■│254 fe 1o │╧│207 cf 11oo1 │▀│223 df 11o1 │я│239 ef 111o1 │ │255 ff 1 └─┘ └─┘ └─┘ └─┘ Псевдо╝и спец4ы Фы Набор 4ов · ┘&╓C╒#а набора 4ов 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 00                10                 20 ! " # $ % & ' ( ) * + , - . / 30 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 40 @ A B C D E F G H I J K L M N O 50 P Q R S T U V W X Y Z [ \ ] ^ _ 60 ` a b c d e f g h i j k l m n o 70 p q r s t u v w x y z { | } ~  80 А Б В Г Д Е Ж З И Й К Л М Н О П 90 Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я a0 а б в г д е ж з и й к л м н о п b0 ░ ▒ ▓ │ ┤ ╡ ╢ ╖ ╕ ╣ ║ ╗ ╝ ╜ ╛ ┐ c0 └ ┴ ┬ ├ ─ ┼ ╞ ╟ ╚ ╔ ╩ ╦ ╠ ═ ╬ ╧ d0 ╨ ╤ ╥ ╙ ╘ ╒ ╓ ╫ ╪ ┘ ┌ █ ▄ ▌ ▐ ▀ e0 р с т у ф х ц ч ш щ ъ ы ь э ю я f0 Ё ё Є є Ї ї Ў ў ° ∙ · √ № ¤ ■N─ Псевдо╝и спец4ы ·: 4ы и их Фы · ┘╓H╒Фы ·Dec Hex Ctl г Назе ▄ Dec Hex Ctl г Назе▀▀▀ ▀▀▀ ▀▀▀ ▀ ▀ █ ▀▀▀ ▀▀▀ ▀▀▀ ▀ ▀ 0 00 ^@ NUL по (Т%и) █ 16 10 ^P DLE data line escape 1 01 ^A SOH Внка █ 17 11 ^Q DC1 dev ctrl 1 (X-ON) 2 02 ^B STX Втекста █ 18 12 ^R DC2 device ctrl 2 3 03 ^C ETX Ттекста █ 19 13 ^S DC3 dev ctrl 3 (X-OFF) 4 04 ^D EOT Т`ачи █ 20 14 ^T DC4 device ctrl 4 5 05 ^E ENQ й █ 21 15 ^U NAK отриц. подтвержд. 6 06 ^F ACK подтвержде} █ 22 16 ^V SYN синхронизация 7 07 ^G BEL звонок █ 23 17 ^W ETB Т╘а 8 08 ^H BS шаг назад █ 24 18 ^X CAN снять 9 09 ^I HT TAB гориз. табуляция █ 25 19 ^Y EM Тx 10 0a ^J LF aвод %и █ 26 1a ^Z SUB подстановка 11 0b ^K VT вертик. табуляция █ 27 1b ^[ ш escape 12 0c ^L FF подача формы █ 28 1c ^\ FS ?ь ов 13 0d ^M CR возврат каретки █ 29 1d ^] GS ?ь групп 14 0e ^N SO ┌out █ 30 1e ^^ RS ?ь кей 15 0f ^O SI ┌in █ 31 1f ^_ US ?ь полейN▀ Псевдо╝и спец4ы ·10-, 16-, двоичwФы · ╪╓6╫H╒Псевдографические и специальw4ы Decimal · Hex Dec ·Hex Dec ·Hex  ▀ ▀ ▀ ▀▀▀ ▀ ▀▀▀ ▀▀▀ ▀ ▀▀▀ 218 194 191 ┌ ┬ ┐ da c2 bf 196 ─ c4 24  18 195 197 180 ├ ┼ ┤ c3 c5 b4 179 │ b3 25  19 192 193 217 └ ┴ ┘ c0 c1 d9 205 ═ cd 26  1a, 186 ║ ba 27  1b 201 203 187 ╔ ╦ ╗ c9 cb bb 204 206 185 ╠ ╬ ╣ cc ce b9 176 ░ b0 30  1e 200 202 188 ╚ ╩ ╝ c8 ca bc 177 ▒ b1 31  1f, 178 ▓ b2 16  10 214 210 183 ╓ ╥ ╖ d6 d2 b7 219 █ db 17  11 199 215 182 ╟ ╫ ╢ c7 d7 b6 211 208 189 ╙ ╨ ╜ d3 d0 bd 220 ▄ dc 3   03, 221 ▌ dd 4   04 213 209 184 ╒ ╤ ╕ d5 d1 b8 222 ▐ de 5   05 198 216 181 ╞ ╪ ╡ c6 d8 b5 223 ▀ df 6  06 212 207 190 ╘ ╧ ╛ d4 cf beN─ Фы ·: 4ы и их Фы Набор 4ов ·  y7bX║Т║Т y#Т╪7Т╫HТ╒УСьwEscape-Rьности ANSIиметь │к <ым ям Си, предоставляемым ▓омANSI.█, прежде ╞го убедитесь,  Уа DEVICE=ansi.sysзадана в вашем е ё. ANSI-и Си ┴ываются путем ┬ана Сь (CON) специально ирqнuRьностей 4ов. ВашаMа ЙЭqть Pм любую из й 4ь{в/в э,Не выдают 4ы на Сь. На уровне Япретатора Уэ, выЙе Эqть ╢цели Уы TYPE, ECHO, жвключЬнужwRьности в Уу P▄PT.В 2дующем списке, ы в угловых скобках <> - cы (r вые зя в Фе ·), а '' - 4ш(·1bH). В конце@а Pведено Pмеров.Rьность я▀ 6▀■ ^еще}Ма !■[<%а>;<колонка>H позиционирует М. е = 1;1 (верх.левый угол)[<%а>;<колонка>f (то же,  и выше)[<%>A ^ещает Мвверх. По ю на 1 %у.[<%>B ^ещает Мвниз. По ю на 1 %у.[<колонок>C ^ещает Мвправо. По ю на 1 колонку.[<колонок>D ^ещает Мвлево. По ю на 1 колонку.■ nи стирания #■ стирает и ^ещает Мв Ва стирает от Ма до конца ей %и■ Смешанwи #■ ┬ит ие %у и колонку в форме: [<%а>;<колонка>R сохраняет ую позицию Ма (см. ) ^ещает Мв Sднюю позицию, сохраненную ■ е ом "■[<атр>;...;<атр>m т ╫ы ┬а. зя <атр>: 0 нормальv (серый на черном) 1 жирv (4ы повышенzяркости) 4 подчеркива}(ЖЗIBM) 5 мерца} (4мерцает) 7 реверс (черvна сером) 8 ~┬а (`ний план совпадает с фоном) 30 ЧЕРНЫЙ `ний план 40 ЧЕРНЫЙ фон 31 КРАСНЫЙ `ний план 41 КРАСНЫЙ фон 32 ЗЕЛЕНЫЙ `ний план 42 ЗЕЛЕНЫЙ фон 33 ЖЕЛТЫЙ `ний план 43 ЖЕЛТЫЙ фон 34 СИНИЙ `ний план 44 СИНИЙ фон 35 РОЗОВЫЙ `ний план 45 РОЗОВЫЙ фон 36 ГОЛУБОЙ `ний план 46 ГОЛУБОЙ фон 37 БЕЛЫЙ `ний план 47 БЕЛЫЙ фон[=<:>h т ╦:. зя <:> 2дующие: 0 40x25 текстовый :черно-белый 1 40x25 текстовый :z 2 80x25 текстовый :черно-белый 3 80x25 текстовый :z 4 320x200 ╗:z 5 320x200 ╗:черно-белый 6 640x200 ╗:черно-белый 7 заставляет М\Ьна новую %у по концу %и ("заворачиваться")[=7l запрещает заворачива}Ма по концу %и■ akе}Шы ■[;...p akяет Чу, Pсваивая ей новое зе. ИЛИ bое  (жbый 4<%и>) - ["<%а>"p akяемая Ча. Sдующие зя задают ИЛИ новое зе ╢Чи.[;"<%а>"p 2дующая Уа akяет комбинацию яD, ИЛИ Pсваивая ей зе: DIR C:[Enter]различw [4;"DIR C:";13pкомбинации НеНе Чи kяются двумя числами . Д, Ча [F1]: 0;59; Ча [Home]: 0;71; 2дующая Уа akяет F10 на: DIR [Enter] [0;68;"DIR";13p См. <ые Чи ·о "их Чах. ле: восстановЬисходное зе Чи, задайте ее Фдважды. Д, восстано╩[F10]:! ▄ 6▄NерЬ, лен ли ANSI.█, выведите на Сь  и сразу жепрочитайте )й ╬. Он ╡╣зе в форме: [<'>;<кол>RN─Pведем Pмеры Эqния й ANSI на двух языках Mирqния:;= Ассемблер =data_seg segmentColorMode db 1bH,'=3h','$'SetF10 db 1bH,'0;68;"Нажата F10"p','$'data_seg endscode_seg segment mov dx,offset ColorMode ;Ьz:80x25 mov ah,9 ;я э"вывести %у" int 21H mov dx,offset SetF10 ;akЬF10 на %у текста mov ah,9 int 21Hcode_seg ends/* = Pмер и на языке C = */set_cursor(row,clm)int row,clm;{ printf("%c[%d;%dH",27,row,clm)}N─На уровне Уэтяжело экспериментирqть с ANSI-Rьностями,потому  эне Wввести с Шы 4ш. Предлагаем триспособа ╢"ого экспериментирqния:  Эуйте Уу P▄PT ╢выдачи 4а шна Сь. Д: P▄PT $e[7m т реверсное изображе} P▄PT $e[0;68;"DIR";13p akяет Чу F10 P▄PT восстанавливает обычную подсказку  создайте ╕овый (Д, с помощью BASIC), а ивыдайте TYPE: BASIC OPEN "ansitest.txt" FOR OUTPUT AS #1 PRр#1,CHR$(27);"[7m" '** реверсное изображе} PRр#1,CHR$(27);"[0;68;'DIR';13p" '** akяет F10 ЪDIR █TEM TYPE ansitest.txt  Войдите в BASIC, откройте "CON" и Эуйте PRр#, послать escape-Rьности Сьному ▓у э.N─ Расшире}· ё Фы Набор 4ов · U╪U╫(U╓HU╒VФы Oов Epson/IBMHex Dec m▀▀▀ ▀▀▀ B▀07 7 (BEL) выдает звонок09 9 (HT) aйти к 2дующей позиции табуляции (см. шD)0a 10 (LF) aвод %и: `вигает бумагу на одну %у0b 11 (VT) продвигает %и до 2дующей позиции вертик. табуляции (шB)0c 12 (FF) подача формы: продвигается к Галу &ы (см. шC)0d 13 (CR) возврат каретки: [ает %у (без продвижения)0e 14 Гать [ь ДВОЙНОЙ ШИРИНЫ (заканчивается по CR жLF. См. шW)0f 15 Гать :ПЛОТНОЙ [и11 17 ├O12 18 закончЬ:ПЛОТНОЙ [и13 19 отменЬвыбор Oа14 20 закончЬ[ь ДВОЙНОЙ ШИРИНЫ18 24 (CAN) очищает ╨Oа1b 27 (ш) ГальvФ╢м{4ьuRьностей (см. |)7f 127 (DEL) очищает ╨Oаш-Rьности, Pведенwздесь, упорядочены по кат▒риям.· Hex m ▀  ▀ 6▀■ Фонты / опции [и !■ш- 1 1b 2d 01 Гать :UNDERLINEш- 0 1b 2d 00 закончЬ:underlineшE 1b 45 Гать :EMPHASISED-MODEшF 1b 46 закончЬ:emphasised-modeшG 1b 47 Гать :DOUBLE-STRIKEшH 1b 48 закончЬ:double-strikeшS 0 1b 53 00 Гать :SUPERSCRIPTшS 1 1b 53 01 Гать :SUBSCRIPTшT 1b 54 закончЬ:ы Superscript жSubscriptшW 1 1b 57 01 Гать :DOUBLE-WIDTH (не отменяется по LF)шW 0 1b 57 00 закончЬ:double-widthш6 1b 36 ├набор 4ов 2ш7 1b 37 ├набор 4ов 1■ Явалы / ╖&ы ■ш0 1b 30 8 LPI: Ьвысоту %и 1/8 дюймаш1 1b 31 Ьвысоту %и 7/72 дюймаш3 n 1b 33 xx ЬЯвал n/216 дюймашJ n 1b 4a xx Ьвысоту n/216 дюйма ╢2дующ▒LFш2 1b 32 ┐aвод %и ^енzвысоты (см. шA) !6 LPI: . высоту 1/6" (░не было ш2)шA n 1b 41 xx ├высоту %и n/72 дюйма (одноразовый aвод %и управляется  ш2)шC n 1b 43 xx Ь %на &е равным n (0-7fH)шN n 1b 4e xx Ьпропуск перфорации на n %шO 1b 4f отменЬпропуск перфорации■ Разwи '■ш8 1b 38 игнорирqть Тбумагиш9 1b 39 отменЬигнорирq}конца бумагиш< 1b 3c головку домойшU 1 1b 55 01 Гать однонаправленную [ьшU 0 1b 55 00 Гать двунаправленную [ьшB n..0 ВЕРТИКАЛЬНЫЕ ТАБЫ (шB, иряд двоичu 1b 42 xx..00 зй, заканчивающийся нулевым ╓ом)шD n..0 ГОРИЗОНТАЛЬНЫЕ ТАБЫ (шD, иряд двоичu 1b 44 xx..00 зй, заканчивающийся нулевым ╓ом)■ ╝.■шK n1n2b1..bn 480-точ. ╝. [ает n1 + (256 * n2) ╓(╒0 1b 4b xx xx yy..yy каждого ╓а - верхняя, ╒7 - нижняя точка)шL ... 1b 4c ... 960-точ.╝- медленБмода (см. шK, шY)шY ... 1b 59 ... 960-точ. ╝- бы'ая мода (см. шK) (не Й[ать точки в Rьuпозициях)шZ ... 1b 59 ... 1920-точечБ╝(- Ъ╢шK) (Й[ать  две точки на третью)N─ Фы Набор 4ов ·10-, 16-, двоичwФы · #-╛<Н,┐%$ЖD%О&( К5(Й?/ ц73юG9ю(;ъ@;ъ,<ъ7@ъ C╚ D╚ E╚ F╚?F ╔ Hъ Jъ Lъ Oъ Pъ Rъ7RС Sъ Tъ Vъ X╚?X ╔*dюp▌p▐=pq^енw▄-ў@описывает наи╙важw^енwи tи ║х ▄-ў.╞╪а документирqны и ┤сохранЬся в будущих версиях ў.Схема Pводится по возрастанию ╪ов, а пые %и отмечают Pмернуюональную группировку. Не показанw╪а за9ирqны.ле: Хотя листинг ўпоказывает ╪а Ъ0ения в 7е 40H, многие Mисты предпочитают Эqть 0ения в абсолютном 7е 00H. Наша #а "и по'оена. Д, ^енную по ╪у 0:0412 И!╪qть Ъ0040:0012.╪ ╖.е▀ ▀ A▀0:0400 2 Базовый ╪Tа bого ┘а RS-232 (є1)0:0402 2 T╢є20:0404 2 T╢є30:0406 2 T╢є40:0408 2 Базовый ╪Tа ╢1-го ┘а d. Oа (LPT1)0:040A 2 T╢LPT20:040C 2 T╢LPT30:040E 2 T╢LPT40:0410 2 ленное оборудq}. См. список s0:0412 1 hки в инфракрасzсвязи Шы PCjr0:0413 2 общая fь в K-╓ах (то же,  в AX Sр12H )0:0415 2 рабочее поле ╢тестов изготовителя0:0417 2 ╒ы *я Шы. См. и Шы0:0419 1 ее (накопленное) зе ╬а Alt+цифрqя Ша. r0. Х[Alt] отпускается, зе aсылается в ╨.0:041a 2 ╪головы ╨а Шы (4по му ╪у 2дующий)0:041c 2 ╪хвоста ╨а Шы0:041e 20H ╨Шы. Здесь ўхранит ╬Ч(голqи хвост указывают на ╪а от 041eH до 043dH включительно).0:043e 1 рекалибрация флоппи-╕овода (╒0=A, ╒1=B, etc.)0:043f 1 мотор ╕еты включен (╒0=drive A, ╒1=B, etc.)0:0440 1 ╟до выкл. мотора. р08H выключает мотор, Хздесь 0.0:0441 1 Фhки ╕еты. То же,  (, возвращаемый по р13H0:0442 7 tь Юи *я Ра ╕ет0:0449 1 ий ╦:. См. ╦:ы и р10H0:044a 2 ширина а в текстовых колонках0:044c 2 ╖(в ╓ах) ╦tи (regen size)0:044e 2 /в ╦7е активz&ы ╦fи0:0450 10H положе}Ма (8 2-╓овых; младший=колонка, старший=%а)0:0460 2 >(форма) Ма. Младший=посл.%а; старший=Г.%а.0:0462 1 yей активz╦&ы0:0463 2 ╪Tа ╢чипа 6845 ╦Ра См. Tы в/в ї0:0465 1 ее зе CRT_MODE Ра 6845 (;Tа 3x8H)0:0466 1 ее зе CRT_PALETTE Ра 6845 (Tа 3x9H)0:0467 5 tь ║х кассеты жtь ║х POST0:046c 4 счетчик тиков таймера (55мсек-единиц с момента сброса)0:0470 1 aполнения таймера0:0471 1 яЎ. ╒7=1 Pнажатии. НиХне сбрасывается, ░вы не сделаете сами.0:0472 2 1234H озГает,  работает aмка я°Del. ў Nеряет, избежать "холодzмки" и Mы POST0:0474 4 управляющая tь ╕еты Jr ж ого ╕а A (0475) 1   ых ╕ов A0:0478 4 зя таймаутов Oов0:047c 4 зя таймаутов RS-2320:0480 2 Гальv╪0ения ╨а Шы A(r001eH)0:0482 2 конечv╪(r003eH)0:0484 1 √ 4ьu%-1 (максим. Октv# %и)0:0485 2 √╓на 4(скан-%/4в активном :е)0:0487 1 √разwи (ъактивен, исп. Ждисплей и т.п.)0:0488 1 √разwи (средства, _и) См. √tи0:0490 1 A╒ы *я ╕а 0 (исп. ╢1.2M ╕ов)0:0491 1 ╢╕а 10:0492 1 Aзапуска nи ╢а 00:0493 1 ╢а 10:0494 1 Aий yцжндра ╢а 00:0495 1 ╢а 10:0496 1 AШы ╒4=1 (10H) ░101-ЧБШа0:0497 1 AдополнительvШы ╢LED 'key lock'0:0498 4 A╪8-╒ового а ожидания. См. р15H Fn 86H0:049c 4 A микросекунд ожидания Uя0:04a0 1 Aактивности ожидания. 1=busy; 80H=posted; 0=acknowledged0:04a1 7 Aза9ирqно ╢сетевых ┘ов0:04a8 4 √SAVE_PTR ╪#ы ей. См. √tи0:04f0 10H tь связи между Pложениями. Mы могут Эqть эту tь ╢ки (а и т.п.0:0500 1 ([и а. 00H=ok; 01H=[ь активна; 0ф=hка P[и а0:0504 1 (фантомuфлоппи-╕ов. 01H=╕A действует Ъ╕B.0:0510 11H Эуется Япретатором BASIC0:0530 3 Эуется Уой MODEf000:fff0 5 ин'укция FAR JMP на ВPOST (Sхолод{старта 8088/86/286/386 `ает е сюда)f000:fff5 8 дата издания ▄-ўв Фе ·("04/24/81" в bых PC)f000:fffc 2 (не Эуется)f000:fffe 1 Фтипа компьютера IBM (не со╞м надежно). 0ф= оригинальvPC ═══ Й╧!0feH 0feH = XT жPortable PC 0fdH = PCjr 0fcH = AT 0fbH = XT с 640K на материнской плате 0f9H = Convertible PCN─ Общая схема fи План Tов в/в и ▄-ў )▄0 j*"s!k*l4m ╚4%╚E%└ 'ъ(└-ю<3 ▄7С< ▄=<=Общая схема fиPводится обзор общей $ы fи во ╟работы PC/XT/AT.╪ Наименq}и m ▀ D▀ ┌C─0:0 │ #а ═ов Qй: 256 4-╓овых ╪ов ─┼C─0040:0 │ tь ║х ▄-ў ─┼─ См. tь ║х ▄-ў0050:0 │ tь ║х э ─┼C─x:0 │ Фў(считанvиз IBMBIO.єна ╕е мки) ─┼C─x:0 │ Обработчики Qй э, включая р21H (IBMэ.є) ├C─x:0 │ э: ╨а, tи ║х и мые ▓ы  ─┼C─x:0 │ резидентБпорция Є(около 4K длиz) │ включает обработчики р22H р23H и р24H ─┼C─x:0 │ 8е Mы и ║е (8е утжты etc.) ─┼C─x:0 | ая выполняемая PкладБMа (.єж.EXE). | Mе изГально предоставляется вся fь до 640K | (a000:0) ждо максимально имеющ▒ся ╪а на данном PC ─┼C─x:0 │ ТранзитБпорция Є. Япретатор У, внутрен} │ Уы и т.п. aзагружается, ░кто-нибудь aкроет ее. ─┼C─a000:0 │ √fь ╢неНх ╦:ов ├C─b000:0 │ ╦fь монохром{┘а (и совместимых с Hercules) ├C─b800:0 │ ╦fь ї(!&а 2 ╢Hercules) ─┼C─c800:0 │ Внешний Ф▄. ▄-ўищет здесь в 2K-╘ах Ф, выполняемый до │ во ╟мки. "ие ╘и ▄-fи rтe000:0 │ обработчик а ( ый ╕ж√ў). См. ▄-Scan ─┼C─e000:0 │ Aмодули ▄материнской платы в ╘ах по 64K до │ См. ▄-Scane000:f │ ─┼C─f600:0 │ ▄-8й Япретатор BASIC ─┼C─fe00:0 │ ▄-ў: POST и Фмки, обработчики Qй и т.д. ─┼C─f000:fff0 │ ин'укция JMP на Mу, выполняемую Pвключении жсбросе ├C─f000:fff5 │ дата издания ў(в ·) ├C─f000:fffe │ идентификационvФIBM PC. См. Т@а ║е ў └C─█▌СВЕРХ▐█ fь сверх 1 мега╓а │на на компьютерах класса AT   ю ўр15H , и в настоящее ╟Эуется э ╢nй с ▌-╕ами. OS/2, Xenix и другие nонw 3ы жMы могут Эqть эту fь ╢мультиMирqния жЪfь общ▒назя.N─ ║е ў0 и ▄-ў ▀; щ; р; ┴; щ; щ;у;у;ч;ш; х;! с;#ф;$ т;%ш;(ш;) х;* ц;+ т;, с.▀.. ▄<./План Tов ╬а-┬а  Tы 000H-0ф9ируются и Эуются 3zплатой  Tы 100H-3фдеФируются на шине в/в ╢исп. платами ┘ов  Tы 400H и выше не│ны на 3zшине|Pводится список Tов в/в ╢PC/XT и AT. Дальнейшая Юяо многих из aчи2нuздесь Tов -ся в @е: Обзор Tов в/вОтдельwTы, рассматриваемые ╙подробно, отмечены Ъпункты К. A ■PC/XT■ m" Доп. сведения▀ ▀ '▀ ▀000-01f 000-00f юР#1, 8237A-5. Tы ю020-03f 020-021 РQй 8259A.040-05f 040-043 Таймер 8253-5 (AT: 8254.2). 060-063 PPI (Mируемый периферийvЯфейс) Ша, _и, таймер060-06f РШы 8042 Ша AT070-07f Реальwчасы, Ї-fь, маска NMI Ї-fь080 диагностическая контрольБточка изготовителя080-09f 080-083 ю;&74LS612 Tы ю 0a0 Маска NMI (немаскируемого Qя)0a0-0bf РQй #2, 8259A0c0-0df юР#2, 8237A-5 Tы ю0f0-0ff Математический соLор170-177  ый ╕(вторичv) AT Tы тв.╕ов1f0-1f7  ый ╕ AT Tы тв.╕ов200-207 200-20f TA/D джойстика Tджойстика 210-217 Expansion Box278-27f 278-27f dый O#2 (#3 с MDA) Tы Oов2c0-2df 2c0-2df ъ#2# ъTы в/в2f8-2ff 2f8-2ff T#2 асинхрон{┘а Sд.Tы300-31f Плата прототипа 320-32f  ый ╕ XT Tы тв.╕ов370-377 Р╕ет (вторичv) FDC Tы378-37f 378-37f dый O#1 (#2 с MDA) Tы Oов380-38f 380-38f SDLC3a0-3af 3a0-3a9 бисинхронvT#13b0-3bf 3b0-3bf Ж┘/O#1 Tы Oов3c0-3cf 3c0-3cf ъ#1# ъTы в/в3d0-3df 3d0-3df їи ъ їTы в/в3f0-3f7 3f0-3f7 Р╕ет FDC Tы3f8-3ff 3f8-3ff T#1 асинхрон{┘а Sд.TыP─ Обзор Tов в/в ║е ў и ▄-ў = щ8 ЗD ╗= р8!╛;, р@2 ┴,5ю=7 щA= щ;Gу;Iу=Qш=S с:Uф=W х=Yш \ ц=_ш=a х=b ц=d т=g сi ▄=i▐jОбзор Tов ╬а-┬адетальБЮя заимствqна из различuисточников, и она Й╧неполzжне со╞м точz. ле: ╞Pмеры с IN и OUT представляют 8-╒овый ╬-┬ (Д, OUT 70H,0 озГает MOV al,0; OUT 70H,al)T m▀ H▀000H-01fH ю(Direct Memory Access) Р См. юTы I020H-03fH РQй I060H ■PC/XT■ PPI TA.  сканФс Шы: IN al,60H ;извлекает Sдний сканФ. См. р09H и СканФы A;║х Шы. См. Ша AT061H ■PC/XT■ PPI (Mируемый периферийvЯфейс), TB. B ║ J│0│ │ ║ ╙D┴╥┴╥┴─┴╥┴╥╜ ╒ I║ ║ ╚═ 0: Таймер 2 ─(спикер) ═╦═ OR 03H=спикер ON I║ ╚═══ 1: Таймер 2 ║е  ═╝ AND 0fcH=спикер OFF I╚═ 3: 1=read high switches; 0=read low switches(см. 62H) ║ H ═ 4: 0=вкл. Nерку четности ▌; 1=выкл. H ═ 5: 0=вкл. контроль каналов в/в ║ ╚ ═ 6: 0=hold keyboard clock low ╚═ 7: 0=вкл. Шу; 1=выкл.062H ■PC/XT■ PPI TC. B ║ │ │ │0│оборуд.║ ╙D┴G┴─┴─╜ ╒ ║ ║ ║ ╚═╩═ 0-3: DIP-_и. См. Список s H ═ 5: 1=Timer 2 channel out ║ ╚ ═ 6: 1=I/O channel check ╚═ 7: 1=▌parity check error occurred.063H ■PC/XT■ PPI ;У/:ов. Выбирает Tы PPI ╢╬а ж ┬а. ўт 99H (Tы A и C ─w, B ╜z). I064H A;УШы. Tсообщается с 8042, Нй работает Ъв'оенБуправляющая Mа Шы. Pнимает Фы Уи ╓ы ║х. По вопросам Уи Mирqния см. Шу AT I070H A╪;а (кь) часов реаль{╚и Ї▌.070H Aмаска NMI. TЭуется ╢маскирqния Qя NMI. OUT с ╒ом 7=0 разрешает NMI; с ╒ом 7=1 запрещает NMI: OUT 70H,2dH ;разрешЬNMI (2dH - 9ируемый ╪в Ї-fи ) OUT 70H,0adH ;запретЬNMI I080H A'аничv;, Эуемый POST ╢накопления hок I081H-08fH ю'аничw;ы См. юTы I0a0H ■PC/XT■ маска NMI. РазрешЬ/запретЬQе NMI (сбой ▌) OUT 0a0H,80H ;разрешЬNMI OUT 0a0H,0 ;запретЬNMI I0c0H-0dfH A│Ра юк 16-╒овой ю См. юTы I0f0H A80287 сброс ╘ировки. 287 "занят" Sнемаскируемой hки. OUT 0f0H,0 ;сбрасывает ╘ировку0f1H A80287 Сброс соLора из защищен{:а в реальv:. OUT 0f1H,0 ;сбрасывает 802870f8H-0fcH A║е 80287. 286 посылает Фы/║е и получает результаты. I170H-177H AР ого ╕а #2 См. AT Tы тв.╕ов I1f0H-1f7H AР ого ╕а #1 См. AT Tы тв.╕ов I210H ■XT■ Expansion chassis control port213H ■XT■ Expansion chassis enable215H ■XT■ Expansion chassis data bus register215H ■XT■ Expansion chassis address register (high byte)216H ■XT■$ (low byte) I278H-27fH ┘#2 dого Oа См. Tы Oа I2f8H-2ф┘асинхронzсвязи є2. См. Sд.Tы I320H-32fH Р ого ╕а ■XT■. См. Tы тв.╕ов XT I2c0H-2cfH ┘ъ#2. См. Tы в/в ъ I378H-37fH ┘dого Oа #1 См. Tы Oа I3b4H-3baH Tы ┘а монохром{дисплея (MDA). См. Tы в/в їоб Эqнии Ра 6854. У MDA мало возИстей сверх ▒единствен{стандарт{:а. I3bcH-3bdH dый Oна MDPA См. Tы Oа I3c0H-3dfH <ый ╗┘(ъ) См. Tы в/в ъ3d2H-3dcH z╗┘(ї) См. Tы в/в ї I3f0H-3f7H Р╕ет (aka FDC) См. Tы FDC I3f8H-3фасинхронvсвязz┘#1 (RS-232 Sд. Tє1)9 См. Sд. TыN─ ║е ў0 Схема Tов в/в  ъ6E┐F▄L┐LЬ>L▐Mи Шы ATШа A(и ее Яфейс Intel 8042) Mируемая и являетсягораздо ╙Яесz, чем Шы PC старых стилей. ВоспользqвшисьPведенными здесь сведениями, вы Йе Ьскорость повторения4ов и позабавЬся с Чами типа "Lock" со световой подсветкой. Эти сведения не исчерпывают ╞х деталей Шы и nй 8042, но они предоставляют пищу ╢размышлений.T60H служит ╢ки ║х и предназГен ╢совместимости с раннимимоделями. ░Pмеры, Эующие T64H, не идут, попробуйте T60H.T64H служит ╢ки Уи ║х и ╢ я *я Шы.Прежде чем послать Уу Ше, ўNеряет ее *е (IN al,64H)и Nеряет,  в ║й момент не нажимается Ча, внутренний ╨неaполнен, и т.п. Риск достаточно невелик, ░вы опите "ого родаNерки и просто выдадите Уу: mov al,Ф_Уы out 64H,al╢двухпuУ, "их Ъка частоты генерации 4ов,мудрым реше}м ╤нем{подож╣между двумя Уами OUT: mov al,Ф_Уы out 64H,al mov cx,2000H ;любая величина задержки свыше ў 10мсdelay: loop delay mov al,зе_║х out 64H,alКмд m▀ I▀0фСброс Шы и запуск внутренней диагностики0feH ПовторЬ`ачу Sдней трансмиссии0fdH-0f7H (NOP)0f6H Ья и продолжЬопрос Шы0f5H Ья и прекратЬопрос Шы0f4H Активизирqть. Ша посылает ACK, очищает ╨и Гинает опрос I0f3H . частоту генерации и задержку. СГала посылайте 0f3H, и║е: B ║0│dly│rept rate║ ╙╥┴G┴G┴─╜ ║ ╚╦╝ ╚═╩═ ╒ы 0-4 задают частоту генерации (см. |) ║ ╚ ═ ╒ы 5-6 задают Гальную задержку `1-м повтором: ║ 00=250мс; 01=500мс; 10=750мс; 11=1000мс ╚═ ╒7 ┼00 Ф Частота Ф Частота #а -частоты повторений 0 = 30.0 0aH = 10.0 4ов в зависимости от зя в 1 = 26.7 0dH = 9.2 ╒ах 0-4. Яполируйте ее ╢тех 2 = 24.0 10H = 7.5 зй, Не не Pведены. 4 = 20.0 14H = 5.01 8 = 15.0 1fH = 2.0 ИзГально Ша на'оена на Вповторений S1/2 сек. и повторяет с частотой 10 4ов в сек. слишком медленно. ╓ ║х 01H т задержку 1/4 сек. и частоту 26 4ов в сек. I0f2H-0efH (NOP)0eeH Эхо. ╢диагностики. Просто ╔0eeH обратно. I0edH Вкл/выкл подсветку ключа 'Lock'. СГала пошлите 0edH, и╓: B ║ не исп. │c│n│s║ ╙G┴─┴─┴D╜ H═ подсветка ScrollLock 01H=включЬ ║ ╚═══ подсветка NumLock 02H=включЬ ╚═ подсветка CapsLock 04H=включЬ ╒овые позиции 0-3 +уют ╒ам 4-6 поля и Шы в tи ║х ў. Вы ┤предPнять усжя, поддерживать *е ов +енно подсветке. Д, ░вы делаете о╡ие Uю, aводя ╢н▒цифровую Шу в : NumLock (включая ╒5 по ╪у 0:0417), то позаботьтесь и о том, включЬ+ующую подсветку (╒1 здесь).N─ и Шы ╘и План Tов в/в  ▄ юРgР g=g▐hTы асинхронu┘овtь ║х ў-базовые ╪а до четырех Tов є.Во ╟POST ўтестирует и аализирует є1 и є2.  ┘є1 деФирует Tы 3f8H..3ф  ┘є2 деФирует Tы 2f8H..2фQе ▄ўр14H ╤работать с любым из четырех Tов, ░выпоместите базовый ╪Tа в #у єM, Гинающуюся с ╪а 0:0400.Существенно, ниЪие два ┘а не совмещали oаковых ╪ов;иГе ни oиз них не ╤работать.ўреализует простой Rьvв/в  опрос. ┘Й┴ватьаппаратное Qе по ряду условий, в зависимости от зй в ;еразрешения Qй IER (3f9H ж2f9H). є1 └Qе уровня 4 (IRQ 4 обрабатывается ═ом р0cH) є2 └Qе уровня 3 (IRQ 3 обрабатывается ═ом р0bH)T m▀ H▀3f8H кь: ;TSR. 8 ╒`аваемого 4а.  е: ;RBR. 8 ╒Pнимаемого 4а. кь: (PDLAB=1) младший ╓делителя Бод Делитель▐▌Бод Делитель SOUT 3fbH,80H в м Tу сидит ▀▀▀ ▀▐▌▀▀▀ ▀ младший ╓делителя часов, Нй, 110 1040▐▌1200 96 вместе со старшим ╓ом (T3f9h), 150 768 ▐▌2400 48 составляет 16-╒овое зе, 300 384 ▐▌4800 24 анавливающее скорость `ачи: 600 192 ▐▌9600 124 ▀3f9H кь: старший ╓делителя (PDLAB=1; т.е. SOUT 3fbH,80H) кь: ;разрешения Qй IER B ║0 0 0 0J║ ╙G┴─┴D┴╥╜ ╒ ║ H═ 0: 1=Qе Pготовности Pнимаемых ║х H═══ 1: 1=Qе, Х╨`ачи п ║ ╚═ 2: 1=Qе по (у линии (hка жЎ) ╚═ 3: 1=Qе по (у модема (CTS,DSR,RI,RLSD)3faH  е: ;идентификации Qй IIR. Хпроисходит Qе, прочитайте ;, выяснЬPчину. B ║0 0 0 0 0│ │ ║ ╙G┴G┴─┴╥╜ ╒ ╚╦╝ ╚═ 0: 1=~ждущих Qй (полезно Pопросе) ╚═ 1: 00=Qе по (у линии Pема. Случаи: hки четности, aполнения, фрейминга; Ў Сброс -  ем (а линии (T3fdH) 01=Pнимаемые ║е │ны Сброс -  ем ╨а Pема (T3f8H) 10=╨`ачи п Сброс - кью ╨а `ачи (T3f8H) 11=(модема. Ситуации: Clear To Send; Data Set Ready; Ring Ind; Rec'd Line Sig Detect. Сброс -  ем (а модема (T3feH).3fbH  е/кь: ;я ли}й LCR B ║ │ │ │par│s│len║ ╙D┴─┴─┴╥┴─┴─╜ ╒ ║ H╦╝ ║ ╚═╩═ 0-1: ╖слq: 00=5, 01=6, 10=7, 11=8 ║ ║ ║ ║ ╚═ 2: стоп-╒: 0=1,1=2 (неНе редкие исключения) ║ ║ ║ ╚═ 3-4: четность: x0=~, 01=нечет, 11=чет H ═ 5: stuck parity (не Эуется ў) ║ ╚ ═ 6: контроль Ў. 1=Гать `ачу 0 (пропусков) ╚═ 7: DLAB (Divisor Latch Access Bit). Задает : Tов 3f8H и 3f9H. 1=. боды, 0=нормальv3fcH кь: ;я модемом MCR B ║0 0 0J│ ║ ╙G┴D┴╥┴╥╜ ╒ I╚═ 0: 1=активиз. -DTR (-data termnl ready), 0=деактивиз. ║ H═══ 1: 1=активиз. -RTS (-request to send), 0=деактивиз. H═ 2: 1=активиз. -OUT1 (запасzUьский ┬) ║ ╚═ 3: 1=активиз. -OUT2 ╚ ═ 4: 1=активиз. цикл диагностического тестирqния3fdH  е: ;(а линии LSR B ║0J│ │ │ ║ ╒ы 1-4 ┴ывают Qе, ░разрешено (3f9H) ╙─┴D┴D┴╥╜ ╒ IH═ 0: 1=║е готовы (DR). Сброс:  ем ╨а Pема I║ ╚═══ 1: 1=aполне}(OE). Предыдущий 4потерян I╚═ 2: 1=четность (PE). Сброс:  ем (а линии ║ H═ 3: 1=фрейминг (FE). Плохой стоп-╒в 4е H ═ 4: 1=индицирqн Ў(BI). Pнят пропуск ║ ╚ ═ 5: 1=;THR п. ИГинать `ачу ╚ ═ 6: 1=трансмиттер п. ~║х ╢обработки3feH  е: ;(а модема MSR B ║ J│ │ │ ║ ╒ы 0-3 ┴ывают Qе, ░разрешено (3f9H) ╙D┴D┴╥┴╥╜ ╒ I║ H═ 0: 1=Delta Clear To Send (DCTS) изменила ( IH═══ 1: 1=Delta Data Set Ready (DDSR) измениля ( I║ ╚═ 2: 1=Trailing Edge Ring Indicator (TERI) активен I╚═ 3: 1=Delta Data Carrier Detect (DDCD) изменилась ║ H ═ 4: 1=Clear To Send (CTS) активно H ═ 5: 1=Data Set Ready (DSR) активно ║ ╚ ═ 6: 1=Ring Indicator (RI) активно ╚═ 7: 1=Data Carrier Detect (DCD) активноN─ р14H и ▄-ў" План Tов в/в  ъъ@ ъ* И6ъ7ъIО I>I▐JTы Ра гибких ╕ов@описывает в/в ╢Ра FDC. ОсновБ▒компонента -NEC mPD765 (жсовместимая плата FDC).РAFDC размещен на той же плате,  и Рвинчестера, носовместим со )м ■PC/XT■ FDC (исключая то,  оговорено |).Основwразличия в том,  AT FDC допускает скоростей `ачи,но поддерживает два а.  Р╕ет 1 деФирует Tы 3f0H..3f7H  Р╕ет 2 деФирует Tы 370H..377H (A)FDC генерирует Qе уровня 6 (IRQ 6) Sкаждой nи ( е,кь, поиск и т.д.). IRQ 6 е═р0eH и обрабатывается ў.T m▀ H▀3f2H кь: цифровой ╜z; B ║D C B A│ │ │ ║ ╙G┴─┴╥┴╥┴─┴─╜ ╒ ╚══╦══╝ H═╩═ 0-1: ├о 0-3 (AT: ╒1 не Э.) ║ ║ ╚═ 2: 0=сброс Ра; 1=включе}Ра ║ ╚═ 3: 1=разрешЬюи Qя от ╕ет ╚ ═ 4-7: включЬмотор (╒ы +уют ам). (AT: ╒ы 6-7 не Эуются)3f4H  е: главv;(а B ║ JD C B A║ ╙D┴╥┴G┴─╜ ╒ I╚═╩═ 0: о занято (AT: ╒ы 2-3 не исп.) ║ H ═ 4: 1=Рзанят (идет  е жкь) H ═ 5: 1=~ю; 0=активен :ю ║ ╚ ═ 6: напра╩`ачи: 1 = FDC═CPU; 0 = CPU═FDC ╚═ 7: йMaster. 1=ИPнимать/`авать3f5H  е/кь: ;У/║х FDC TЭуется ╢╞х УРа. bым ┬ится ╓Уы, и┬ится oж╓cов. Sвыполнения nи возможен ╬од{жнескольких ╓ результата. Весь ╬-┬осуществляется  T и ╡соблю╣правильную Rьность. |Pведены Уы, Эуемые )ми ями ў, но не показаны cы этих комагд и зя их результатов. Вы ┤обратЬся к руководству Tech Ref, ░хотите узнать ╥. Кмд m ▀▀▀ <▀ e6H  ║е (Pнимает 8 cов; 7 ╓результата) c5H Z║е (Pнимает 8 cов; 7 ╓результата) 4dH ирqть дорожку (Pнимает 5 cов; 7 ╓результата) 07H Рекалибрация (Pнимает 1 c; ~╓результата) 0fH Искать дорожку (Pнимает 2 cа; ~╓результата)3f6H A кь: ;фиксирqн{╕а (~сведений)3f7H A кь: ;я ╕етой B ║ │ ║ C╒ ╚═╦═╝ ╚═╩═ 0-1: скорость `ачи ║х ║ 00=500 KBS, 01=300 KBS, 10=250 KBS, 11=9 ╚ ═ 2-7: я не смог найти нич▒об этих ╒ах  е: цифровой ;╬а. Исп. ╢диагностики (кроме ╒а 7) B ║c│ │ │ │ ║ ╙╥┴╥┴G┴─┴╥┴╥╜ ╒ H══╦══╝ ║ ╚═ 0: 1=├р. 0 ║ ║ ║ ╚═══ 1: 1=├р. 1 ║ ║ ╚═ 2-5: ├головку 0-3 (╒2=гол.0,╒3=гол.1, etc) ║ ╚ ═ 6: ворота ки ╚═ 7: "Change Line" (1=смена ╕еты)N─ р13H и ▄-ў" План Tов в/в ъ)ъф8О 8ф$8╢>8▐9Tы  ого ╕а ATР ого ╕а Aв'оен в ту же плату ┘а,  иР╕ет. ▒Tы в/в, Уы и сигналы *я отличаютсяот +ующих ╫ов Ра ■XT■ . Подробности см. в @е Tы  ого ╕а XT .  Р ого ╕а AT #1 деФирует Tы 1f0H..1f7H  Р ого ╕а AT #2 деФирует Tы 170H..177HРгенерирует Qе уровня 14 (IRQ 14) Sкаждой nи( е, кь, поиск и т.д.). IRQ 14 е═р76H; Qет ╒овый действия по ╪у 0:048e.T m▀ H▀1f0H ;║х.  е(кь) ║х в(из) ╨6а Ра1f1H кь: Write Precompensation register. Turn on write precompensation.  е: ;hок. -Pзнаки Sдней hки. B ║ │ │0│ │0│ │ │ ║ ╙╥┴╥┴─┴╥┴─┴D╜ ╒ ║ ║ ║ H═ 0: ╪vмаркер ║х не Е ║ ║ ║ ║ ╚═══ 1: hка на дорожке 0 ║ ║ ║ ╚═ 2: Уа отвергнута ║ ║ ╚ ═ 4: ID 6а не Е ║ ╚ ═ 6: hка ECC: неОктируемая hка ║х ╚═ 7: плохой ╘1f2H Счетчик числа 6ов ╢nи  я/ки1f3H ий/Гальvyлогического 6а ╢ я/ки1f4H Цжндр, старшие (╒ы 0-1 - ╒ы 8-9 10-╒ового yа цжндра)1f5H Цжндр, младшие (╒ы 0-7 10-╒ового yа цжндра)1f6H ╒ы kяют о и головку ╢nи  я/ки1f7H кь: ;Уы (См. Tech Ref о подробностях) 1xH = сброс на цжндр 0 (x = step rate) 7xH = искать до цжндра (x = step rate) 2xH = 6 я (x = retry and ECC-read) 3xH = 6ки (x = retry and ECC-read) 50H = ирqть дорожку 4xH =  е ╢верификации (x = retry) 90H = диагностика 91H = .cы ( головок, 6ов) ╢выбр.р.1f7H  е: ;(а B ║ J│ │ │ ║ ╙D┴D┴╥┴╥╜ ╒ I║ H═ 0: 1=предыдущая Уа закончилась с hкой IH═══ 1: . в 1 Pобнаружении б{отверстия I║ ╚═ 2: ║е исправлены. Была hка, но ECC исправил. I╚═ 3: й║х. ╨ждет ║х (занято) ║ H ═ 4: поиск завершен H ═ 5: сбой ки ║ ╚ ═ 6: о готово к nи (░╒4=1) ╚═ 7: занято. 1=работает Уа (другие ╒ы неверны)N─ р13H Tы  ых ╕ов XT Табл.cов тв.╕а План Tов в/в 'ъ-О -у$-╢>-▐.Tы  ого ╕а XTЗдесь описан Р ого ╕а ■XT■ . Он аналогичен большинствуРов  ых ╕ов не-IBM, Эуемых в PC. Однако негарантируется, особенно Pнимая во внима},  AT реализqн иГе.Самое безопасное - предоставЬскрыть различия 3ным микроMам. Р ого ╕а XT деФирует Tы 320H..327HРгенерирует Qе уровня 5 (IRQ 5) Sкаждой nи( е, кь, поиск и т.д.). IRQ 5 е═р0dH (Нй назГен!редко Эуемому IRQ ╢LPT2). Qе р0dH запрещает прямойобмен с fью (ю) ╢ ого ╕а и ╛возврат.T m▀ H▀320H ;║х. кь У,  е (а. кь: ┼ряд ╓, Rьно кываемых в T. bый ╓- Уа Ра; Sдующие ╓ы (до 5) содержат головку, цждр, 6и управляющий ╓, Нй еразнообразwkения, слишком м{чи2нw, PводЬих здесь.  е: Pобнаружении hки (T321H, ╒1), вы Йе кать в ;ряд ╓╢Уы Sense, а ипро  4 ╓а, извлечь ╞,  РЙсообщЬ. bый ╓hку. СГала почитайте Tech Ref.321H кь: сброс Ра Запишите ╓00H в T, 'осЬР.  е: ;(а Ра B ║ │d│ │e│ ║ ╙─┴─┴╥┴G┴╥┴─╜ ╒ ║ ╚═══ 1: 1=в'ечена hка ╚ ═ 5: yлогической единицы (р. 0 жр. 1)322H кь: generate controller select pulse ЛOUT в Tактивизирует Р. Эуйте `выдачей Уы.323H кь: юи ;маски Qй B ║ не исп. │i│d║ ╙G┴G┴╥┴╥╜ ╒ ║ ╚═ 0: 1=разрешЬю, 0=не исп. ю ╚═══ 1: 1=разрешЬQе SУы (IRQ 5)N─ р13H Tы  ого ╕а AT Табл.cов тв.╕а План Tов в/в  ╚ цъ╔Ы╜1Ы ц▐╚ ▐Й▐ Л!▐ ц>▐▐▀Tы <ого графического ┘а┘ъсовместим снизу вверх с ┘ом їP│е к нему ў. √гораздо сложнее на уровне аппаратуры, но он Йэмулирqть многие из ;ов и nй ї.См. Tы в/в ї. В м @е описаны изменения ъи расширеия посравнению с ╬ом-┬ом ╢ї.╧Й, самое зГительное измене}╢Pклад{Mиста - то, ~необходимости Nерять на обратvход луча Pки на .ъне допускает "снега" на е ни в Ъом случае.  ъ#1 деФирует Tы 3c0H..3dfH  ъ#2 деФирует Tы 2c0H..2dfHъЙгенерирqть Qе уровня 2 (IRQ 2) во ╟overscаn в Галевертикаль{хода луча. IRQ 2 е═р0aH. ░вы Эуете Qе, помните,  AЭует IRQ 2 Ъкаскадvй╢целого класса IRQ (IRQ 8-15). Метод обработки множественuаппаратuQй  oи тот же IRQ описан в документе AT Tech Ref 6183355(aсмотренное изда}, март 1986).ле: ўхранит образы их зй Tов CRTC и другие ║е ъв tи ║х √. изменЬЪое-нибудь зе, вы ┤про +ующую ^енную, изменЬ╒, ┐OUT, и сохранЬновое зе в ^енzў.T m▀ H▀3c0H кь: ╪Ра ╫ов (ATC) и T║х IN al,3daH ;(жIN 3baH): aвод в :╪а OUT 3c0H,reg_no ;├;ATC (в :║х) OUT 3c0H,value ;сохранЬзе в ;е ATC ле: ╒ы 0-4: ├;ATC ╒5: 1=разрешЬ┬; 0=.; Sвыбора ;а выполните еще oOUT 3c0H,║е: Рег.ATC m║х ▀ ;▀ 00-0fH ;ы палитры: ├а ╢╫а B ║ │r│g│b│R│G│B║ R,G,B - 2/3-интенсивность ╙─┴─┴D┴D╜ ╒ r,g,b - 1/3-интенсивность I║ ╚═ 0: Red I╚═══ 1: Green ║ H═ 2: Blue H═ 3: blue' (эмуляция MDA: подчеркива}) ║ ╚ ═ 4: green'(эмуляция ї: яркость) ╚ ═ 5: red' 10H е :ом B ║ J║ ╙G┴─┴D┴╥╜ ╒ ║ H═ 0: 1=╝, 0=текст H═══ 1: 1=╫ы MDA, 0=╫ы а ║ ╚═ 2: 1=9я точка=8я точка ╢псевдографики ║ 0=исп.фон.Ъ9ю точку 4а ╚═ 3: 1=мерца}, 0=4-╒овый фоновый  11H ├бордюра. Те же rgbRGB,  ╢рег. палитры 12H активизирqть овые плоскости B ║ │ │ ║ C╒ ╚╦╝ ╚═╩═ 0-3: ╒ы 0-3 активизируют плоскости 0-3 ╚ ═ 4-5: video status to multiplex+ 00=R&B, 01=b&G, 10=r&g, 11=unused 13H горизонтальБподача пикселов  точек ╢сдвига влево в ╒ах 0-3 (0-0fH)3c2H кь: различwи B ║ J │ │ ║ ╙D┴╥┴─┴─┴╥┴╥╜ ╒ I╚╦╝ ║ ╚═ 0: 1=├3BxH (эмуляция MDA); 0=3DxH (ї) I ║ ╚═══ 1: 1=разрешЬ▌; 0=запретЬ▌ I ╚═ 2-3: частота точек: 00=14mHz; 01=16mHz; 10=внешняя ║ H ═ 4: 1=select feature output; 0=select internal H ═ 5: ╒&ы ╢:а чет/нечет ║ ╚ ═ 6: полярность гориз. хода: 1=отриц., 0=положит. ╚═ 7: полярность вертик. хода: 1=отриц., 0=положит.3c4H кь: sequencer address register3c5H кь: sequencer data register Выполните OUT 3c4H,ном_рег; иOUT 3c5H,║е Seq.рег m║х ▀ ;▀ 00 сброс сиквенсера. ╒ы 0-1 индицируют асинхронv/синхронvсброс. 01 clocking mode B ║ J║ ╙G┴─┴D┴╥╜ ╒ ║ H═ 0: 1=8 точек/4; 0=9 точек/4 H═══ 1: CRT bandwidth: 1=low; 0=high ║ ╚═ 2: 1=сдвиг каждого симв; 0=каждого 2-го ╚═ 3: dot clock: 1=halved; 0=normal 02 map mask: ╒ы 0-3 позволяют кь в ╒овые плоскости 0-3 03 character map select: ╒ы 0-1 выбирают Map B (░╒╫а 3=0) ╒ы 2-3 выбирают Map A (░╒╫а 3=1) 04 :fи B ║ │ │ │ ║ ╙G┴─┴─┴D╜ ╒ H═ 0: 1=текстовый генератор симв; 0=╝ ║ ╚═══ 1: 1=ъram > 64K; 0=64K ╚═ 2: 1=Sдов.; 0=нечет/чет (Ъв ї)3caH кь: графическая позиция 2 (должна ╧0 ╢ъ)3ccH кь: графическая позиция 1 (должна ╧1 ╢ъ)3ceH кь: ;графического ╪а 1 и 23cfH кь: ;║х графического Ра (GDC) Выполните OUT 3ceH,ном_рег; иOUT 3cfH,║е GDC рег m║х ▀ ;▀ 00 /сброс. ╒ы 0-3 выбирают плоскости ╢:а ки 00 01 разрешЬ/сброс 02 сравн. ов. ╒ы 0-3 выбирают ╢:а  я 01 03 ротация ║х и выбор и ╢:а ки 00 ╒ы 0-2: счетчик ротации ╢:а ки 00 3-4: выбор и ╢:ов ки 00 и 02 00=без изм; 01=AND; 10=OR; 11=XOR 04 read map select. Bits 0-2 select map # for read mode 00. 05 ;:а B ║ J│ ║ ╙─┴─┴D┴╥┴─┴─╜ ╒ I╚═╩═ 0-1: :ки 0-2 ║ H═ 2: условие Nерки H═ 3: : я: 1=сравн.а, 0=прямое ║ ╚ ═ 4: 1=исп. нечет/чет ╪ацию ▌ ╚ ═ 5: 1=исп. средн.разреш.ї(2 ╒/точка) 06 различwи графики B ║ │ │ │ ║ ╙G┴G┴╥┴╥╜ ╒ ╚╦╝ ║ ╚═ 0: 1=╝; 0=генерация симв (текст) ║ ╚═══ 1: 1=сцепЬнеч плоскости Sчетu ╚═ 2: отображе}fи ╢Lора) 00=a000H (128K); 01=a000H (64K)) 10=b000H (32K MDA);11=b800H (32K ї) 07 отменЬмаскирq}ов ╒ы 0-3 отменяют плоскости ╢сравнения в реж.  я 01 08 ╒qя маска. ╒ы 0-7 задают маску ╢╞х плоскостей3b4H ж3d4H ╪Ра CRT3b5H ж3d5H внутрен};ы Ра CRT ле: ╒0 Tа 3c0H задает Эуемую пару Tов. (3bxH r╢MDA; 3dxH r╢ї). Выполните OUT 3x4H,ном_рег; иOUT 3x5H,║е CRTC Rg m║х ▀ ;▀ 00-11H См. #у ╦cов и Tы ї. Исключения: 02 Вгоризонталь{стирания (счетчик 4ов) 03 Тгоризонталь{стирания ╒ы 0-4 -ширина стирания; ╒ы 5-6 -разрешЬскос (0..3) 04 Вгоризонталь{обрат{хода (позиция 4а) 05 Тгоризонталь{обрат{хода B ║ │ │ ║ ╙╥┴G┴G┴─╜ ╒ ║ ╚╦╝ ╚═╩═ 0-4: ширина горизонтальн. обрат{хода ║ ╚ ═ 5-6: задержка хода 0-3 character-clocks ╚═ 7: 1=подача по нечет ╪у; 0=четному 06 %сканирqния по вертикали 07 ╒8 ╢неНх ;ов CRTC B ║ J│ │ ║ ╙─┴─┴D┴D╜ ╒ I║ ╚═ 0: вертикальu%(CRTC Reg 06) I╚═══ 1: vert disp'd enable end (CRTC Reg 12H) ║ H═ 2: vertical retrace start (CRTC Reg 10H) H═ 3: start vert blanking (CRTC Reg 15H) ║ ╚ ═ 4: line compare (CRTC Reg 18H) ╚ ═ 5: позиция Ма (CRTC Reg 0aH) 08 preset row scan first scan line after vertical retrace 10H кь: vertical retrace start 11H кь: vertical retrace end B ║ │ │ │ ║ ╙─┴─┴╥┴╥┴G┴─╜ ╒ H═╩═ 0-3: retrace width in scan lines ║ ╚ ═ 4: 0=clear vertical interrupt ╚ ═ 5: 0=enable vertical interrupt IRQ2 12H vertical displayed end (scan line) 13H vertical displayed adjustment 14H underline location. Bits 0-5 are scan line number. 15H start vertical blanking (scan line) 16H end vertical blanking 17H mode control B ║ J│ │ │ ║ ╙D┴D┴╥┴╥╜ ╒ I║ H═ 0: 0=їgraphics addr compatible mode IH═══ 1: select row scan counter I║ ╚═ 2: horiz retrace: 1=double vertical res I╚═ 3: 1=use char clock /2 for word refresh ║ H ═ 4: 1=force high impedance on output H ═ 5: address wrapping mode ║ ╚ ═ 6: 1=byte addressing mode; 0=word mode ╚═ 7: 0=hardware reset; 1=normal operations 18H line compare (scan line) Used for split screen operations.3baH or 3daH кь: bits 0-1 control Feature Control outputs FC0 and FC1 Note: Port 3c0H ╒0 selects which port address to use. Read: status bits are same as MDA (port 3baH) or ї(port 3daH) B ║ J║ ╙G┴─┴D┴╥╜ ╒ ║ H═ 0: retrace. 1=display is in vert or horiz retrace. H═══ 1: 1=light pen is triggered; 0=armed ║ ╚═ 2: 1=light pen switch is open; 0=closed ╚═ 3: 1=vertical sync pulse is occurring. Note: With ъ, you don't need to synchronize with retrace when writing to video ▌.3bdH ж3dbH кь: ЛOUT сбрасывает ║е светового пера.3bcH ж3dcH кь: ЛOUT т ║е светового пера.N─ √ р10H √ў Tы в/в ї План Tов в/в ) х ▄╜?Й ?╝?╜7?╚>?▐@Tы в/в {графического ┘а@описывает Tы ┘а ї. ┘по'оен на базечипа CRT-Ра Motorolla 6845.  їдеФирует Tы 3d0H..3dfH (Эуются 3d2H-3dcH) ле: Эти Tы aкрывают Tы ъ╢совместимости вверх. С неНми исключениями, Юя їPменима к ъ.Старый Tech Ref указывал,  їЙ┴ывать аппаратное Qе уровня2 Pвертикальном ходе луча. Однако у їниХне было "ого свойства.ле: ўхранит "образы" их зй Tов CRTC в tи ║х ў. изменЬ╒, вы ┤про нужное поле, Ь╒, ┐OUT и сохранЬновое зе в поле.T m▀ H▀3d4H кь: выбор ;а CRT-Ра. Эуйте T╢выбора любого из 18 ;ов CRTC. СГала выполните OUT 3d4H,ном_рег, а и  е жкь  T3d5H.3d5H ;ы CRT-Ра. Sвыбора  T3d4H, выполните IN жOUT  T╢│а к внутренним ;ам CRTC. кь: См. #у ╦cов о ;ах CRTC и о том, Ъ V)е зя ў╢:ов дисплея.  е: ;ы R12..R17 Ипро ╢kения ей Юи о ╦&е, Ме и световом a.3d8H кь: ;выбора :а (ўхранит ее зе в 0:0465) B ║ │b│r│v│c│g│w║ ╙─┴─┴D┴D╜ ╒ I║ ╚═ 0: ширина а (текст): 0=40 колонок; 1=80 колонок I╚═══ 1: 1=графические :ы; 0=текстовые :ы ║ H═ 2: 1=запретЬблики на составном Зе H═ 3: 1=включЬ╦сигнал; 0=отключЬ(╞черное) ║ ╚ ═ 4: разреше}: 0=320 2-╒точек; 1=640 1-╒точек ╚ ═ 5: 1=╒7 текстового ╫а = мерца}пер.плана 0=╒7 текстового ╫а = яркость фона3d8H кь: ;выбопа а B ║ │b│i│I│R│G│B║ ╙─┴─┴╥┴╥┴G┴─╜ ╒ H═╩═ 0-3: . Текстовые :ы: IRGB бордюра ║ ║ Графические: IRGB фона ║ ╚ ═ 4: интенсивность. Текст: интенсивность фона ║ ╝средн▒разрешения: интенсивность точек ╚ ═ 5: голубой. Выбор палитры 0 ж1 (1 добавл. голубой)3daH  е: ;*я B ║ J║ ╙G┴─┴D┴╥╜ ╒ ║ H═ 0: обратvход. 1=выдавать Pобратном ходе. H═══ 1: 1=триггер светового пера отпущен; 0=взведен ║ ╚═ 2: 1=_ь пера открыт; 0=закрыт ╚═ 3: 1=синхронизация вертикаль{"та. P┬е в вертикальном обратном ходе ~"снега"3dbH  е/кь: ЛOUT сбрасывает ║е светового пера.3dcH  е/кь: ЛOUT т ║е светового пера.N─ р10H ╫ы а #а ╦cов √ План Tов в/в ъ#ъ4С)С )>)▐*Tигрового ┘а T201H является Tом игрового ┘а жTом джойстика. ▄-ў ■PC/XT■ не поддерживает ▒, но в Aў5р15H Y. 84H предоставляет простой в Эqнии Яфейс с этим ┘ом. - аналого-цифровой преобразqтель, Нй ИЭqть в научu измерительuPборах и ах, подающих аналоговый (резистивv) ╬ на Яфейс. Он Pнимает до четырех цифровых ╬ов ("их, Ънажатие кнопки) и до четырех резистивu╬ов ("их, Ъкоординаты джойстика ж зе температуры от электрон{термометра). зе, полученное ╬ом из Tа 201H, Япретируется ":╓─7┬─6┬─5┬─4╥─3┬─2┬─1┬─0╖║B2│B1│A2│A1║By│Bx│Ay│Ax║╙──┴──┴──┴──╨──┴──┴──┴──╜ ╚═╦═╝ ╚ ═╩═ Координаты (резистивw, зависящие от ╚) ╚═ Кнопки/триггеры (цифровой ╬) Вы Йе опросЬкнопки (цифровой ╬) ": mov dx,201H out dx,al ;аирqть транзакцию; AL= угодно in al,dx ; ╒ы 4-7 ╢кнопок: 0=нажата, 1=отпущена Джойстики и измерительwPборы (резистивv╬) опрашиваются путем от2живания ╚, в тече}которого ╒X жY взведен (1) S OUT 201,xxx. про индивидуальv╬(джойстик A, координата X): mov dx,201H out dx,al ;аирqть транзакцию; AL= угодно mov cx,-1 ;. Гальное зе счетчика oop: in al,dx ;про знчения inc cx ;увеличЬсчетчик test al,1 ;сброшена ли X-координата джойстика A? jnz oop ;циклЬ, пока не сброшена (Х╒=0, готово) Задержка, накопленБв CX, ╤отражать X-координату позиции джойстика A. Результирующее зе зависит от Lора. ╢гарантии точности предпочтительнее Эqть аппаратvтаймер вместо счетчика цикла.N─ р15H и ▄-ў" План Tов в/в ю? ▄ У7У 7>7▐8Tы ┘а dого Oа▄-ўподдерживает до трех Tов dых Oов, ╪уемых ЪLPT1-LPT3. Во ╟POST ўNеряет эти Tы в "ом порядке: 1) 3bcH T, в'оенvв ┘монохром{дисплея / Oа 2) 378H TOа, ┘#1 3) 278H TOа, ┘#2и назГает эти Tы ЪLPT1-LPT3, по мере их обнаружения. ╪а Tов,ответивших на опрос, сохраняются, Гвс ╪а 0:0408. См. ║е ў.Служба ўр17H обеспечивает полную поддержку до 4 dых Oов.добавЬчетвертый O, вы ┤поместЬ▒базовый ╪в1║х ўпо ╪у 0:0410.Вы Йе обмануть 3у, заставив ее Pнять oOза другой.~рудно обменять базовые ╪а Tов в fи ў: ;- Pмер меняет местами LPT1 и LPT2 mov ax,0 mov ds,ax mov si,0408H ;╪qть В#ы Oов 0:0408 mov ax,[si] ;базовый T╢LPT1 xchg ax,[si+2] ;обменять с Tом ╢LPT2 mov [si],ax ;поместЬстарый LPT2 в место ╢LPT1T m▀ H▀378H-37fH ┘dого Oа #1 3bcH база ┘а монохром{дисплея/Oа 278H база ┘а Oа #2378H ╓║х Oа. кь: ╓, посылаемый на O  е: извлечь Sдний посланv╓37aH  е/кь: е Oом B ║0 0 0J│ ║ ╙G┴D┴╥┴╥╜ ╒ I╚═ 0: +'об (pin 1) 1 Pпосылке ╓а ║ H═══ 1: +автоaвод %и (pin 14) 1: LF SCR H═ 2: -INIT (pin 16) 0 сбрасывает O ║ ╚═ 3: +SLCT IN (pin 17) 1 выбирает O ╚ ═ 4: +IRQ Enable (аппар. р░-ACK неудачен)) LPT1═IRQ 7 (р0fH)) LPT2═IRQ 5 (р0dH)379H  е: *е Oа B ║ J│0 0 0║ ╙D┴╥┴╥┴G╜ ╒ I╚═ 3: -ERROR (pin 15) 0=Oсигнализирует об hке ║ H ═ 4: +SLCT (pin 13) 1=Oвыбран H ═ 5: +PE (pin 12) 1=кончилась бумага ║ ╚ ═ 6: -ACK (pin 10) 0=готов к 2дующему 4у ╚═ 7: -BUSY (pin 11) 0=занят жавтоном жhкаN─ р17H и ▄-ў" План Tов в/в ╢>╢▐╖Tы юю(прямой │к fи) служит ╢высокоскорост{обмена ║мимежду ами и fью без вмешательства Lора. rюЭуется ▓ами ╕ов, но Й!Эqться ╢'иммерzленты жлюбого другого а, в той мере, в Ъой не мешаетонирqнию )х .ИсходБмодель PC Эует чип Ра юIntel 8237A и поддерживаетчетыре 8-╒овых канала ю, покрывая 20-╒овое ╪ное про'анство.Aподдерживает 7 каналов ю каскадное подключе}2-го Ра8237A. Различия между ю╢PC и AT оговорены в конце @а. Канал Эq}в PC и XT▀ )▀ 0 обно╩fи (высший Pоритет) 1 не Эуется 2 ┘╕еты 3 ┘ ого ╕а (низший Pоритет)T m▀ H▀000H-007H ;ы базовых ╪ов ю ╞;ы 16-╒овые: кь/ е сГала младш▒, истарш▒ ╓а  oи тот же Tв/в. Базовые ╪а - 0ения от &ы ю(см. |).000H кь: базовый ╪канала 0 ю(!т ий ╪)  е: ий ╪канала 0 ю001H кь: базовый ╪канала 0 и счетчик слов ю  е: ий счетчик слов канала 0 ю002H кь: базовый ╪канала 1 ю  е: ий ╪канала 1 ю003H кь: базовый ╪канала 1 и счетчик слов ю  е: ий счетчик слов канала 1 ю004H кь: базовый ╪канала 2 ю (┘╕ет)  е: ий ╪канала 2 ю "005H кь: базовый ╪канала 2 и счетчик слов ю "  е: ий счетчик слов канала 2 ю "006H кь: базовый ╪канала 3 ю (┘ ого ╕а)  е: ий ╪канала 3 ю "007H кь: базовый ╪канала 3 и счетчик слов ю "  е: ий счетчик слов канала 3 ю "■ H■008H-00fH ю;ы я/*я008H кь: ;Ую B ║ J│ │ │ ║ ╙D┴D┴╥┴╥╜ ╒ I║ H═ 0: 1=разрешЬfь-в-fь ю(ch0═ch1) IH═══ 1: 1=разрешЬзахват ╪а Ch0 I║ ╚═ 2: 1=отключЬР I╚═ 3: 1=select compressed timing mode ║ H ═ 4: 1=циклический Pоритет H ═ 5: 1=:<ой ки; 0=late write ║ ╚ ═ 6: 1=йDRQ = высокий сигнал; 0=низкий ╚═ 7: 1=йDACK = высокий сигнал; 0=низкий  е: ;*я ю B ║ J│ │ │ ║ C╒ ╚══╦══╝ ╚═╩═ 0-3: channel 0-3 has reached terminal count ╚ ═ 4-7: в канале 0-3 есть ожидающий й009H кь: ;йа B ║ не исп.│ │ ║ ╙G┴─┴─┴╥┴─┴─╜ ╒ ║ ╚═╩═ 0-1: ├канал (00=0; 01=1; 10=2; 11=3) ╚═ 2: 1=╒йа ╢канала; 0=сбросЬй00aH кь: ╒маски ╢од{выбран{канала B ║ не исп.│ │ ║ ╙G┴─┴─┴╥┴─┴─╜ ╒ ║ ╚═╩═ 0-1: ├канал (00=0; 01=1; 10=2; 11=3) ╚═ 2: 1=маску канала; 0=сбросЬмаску (разрешЬ)00bH кь: ;:а B ║ J│ │ │ ║ ╙─┴─┴╥┴╥┴G┴─╜ ╒ ╚╦╝ H╦╝ ╚═╩═ 0-1: ├канал (00=0; 01=1; 10=2; 11=3) ║ ║ ║ ╚═ 2-3: тип `ачи (00=Nерка; 01=кь; 10= е) ║ ║ ╚ ═ 4: 1=включЬавтоаализацию ║ ╚ ═ 5: 1=инкремент ╪а; 0=декремент ╪а ╚═ 6-7: 00=й; 01=oочv; 10=╘; 11=каскадv00cH кь: любая кь в ;сбрасывает внутренний ь, "  2дующий ┬в Л16-╒овый ;деФируется Ъ младший ╓. Очередz┬- старший ╓, и т.д.00dH кь: главvсброс. ЛOUT = сброс Ра ("  аализация).  е: временБfь. Sдний ╓в `аче fь-в-fь (не Эуется).00eH кь: Сброс ╞х масок. ЛOUT активизирует ╞4 канала.00fH кь: главvсброс. Сброс жмаскирq}любого ж╞х каналов. B ║ J║ ╙G┴─┴D┴╥╜ ╒ ║ H═ 0: 1=замаскирqть канал 0; 1=активизирqть H═══ 1: 1=замаскирqть канал 1; 1=активизирqть ║ ╚═ 2: 1=замаскирqть канал 2; 1=активизирqть ╚═ 3: 1=замаскирqть канал 3; 1=активизирqть  е: временБfь. Sдний ╓в `аче fь-в-fь (не Эуется).■ H■081H-08fH ;ы &ю. ├Гальv╪╢nи ю, выполните OUT в ; &ы (Tы 81H-83H) ╢нуж{канала, а иите базовый ╪(Tы 00H-07H) ╢канала. ;&ы задается 4-╒овым зем, представляющим ╒ы 16-19 20-╒ового ╪а ю. Поскольку ий ╪16-╒овый, nя юне Йaсечь границу 64K (т.е. ╪а 1000:0, 2000:0 и т.п.).081H ;&ы канала 2 (ю╕ет)082H ;&ы канала 3 (ю ого ╕а)083H ;&ы канала 1N▀┌ ─┐│Aю│ 3а ю╢AT в основном совместима снизу вверх с ю╢PC└ ─┘ и XT. В дополне}к четырем 8-╒овым каналам PC, в AT добавленвторой Рю8237A-5, Нй поддерживает каналы 4-7. Канал Эq}в AT▀ B▀ 0 9! ─┐ 1 SDLC (Synchronous Data Link Control) ╞═ 8-╒овые каналы ю 2 ┘╕ет │ 3 ┘ ого ╕а ─┘ 4 (Р2) каскад ╢Ра 1 ─┐ 5 9" ╞═ 16-╒овые каналы ю 6 9" │ 7 9! ─┘■ H■081H-08fH ;ы &ю. На AT Эуются ╞8 ╒;а &. Они становятся старшими ╒ами 24-╒ового ╪{про'анства (где младшие 16 ╒задаются ;ом базы/▒╪а канала). > &ы - 128K (64K слов), " nи юне могут aсекать границу 128K (т.е. ╪ов 2000:0, 4000:0, 6000:0 и т.п.).081H ;&ы канала 2 (ю╕ет) (╒ы ╪а 16-23)082H ;&ы канала 3 (ю ого ╕а) (╒ы ╪а 16-23)083H ;&ы канала 1 (╒ы ╪а 16-23)087H ;&ы канала 0 (╒ы ╪а 16-23)089H ;&ы канала 6 (╒ы ╪а 17-23)08bH ;&ы канала 5 (╒ы ╪а 17-23)08aH ;&ы канала 7 (╒ы ╪а 17-23)08fH refresh■ H■0c0H-0dfH A;ы Ра ю╢16-╒ового в/в ю. Каналы 0-3 работают с 8-╒овым в/в, Ъв PC. Каналы 4-7 поддерживают 16-╒овые `ачи о-fь и fь-о. nи ╢этих каналов ┼Гинаются на границе слq, и ╞╪а и счетчики относятся к 16-╒овым слqм (Д, базовый ╪123H на самом деле ссылается на /246H от Гала &ы ╢канала).0c0H Базовый и ий ╪канала 4 (╒ы 1-16; ╒0 считается нулем)0c2H ий счетчик слов канала 40c4H Базовый и ий ╪канала 5 (╒ы 1-16)0c6H ий счетчик слов канала 50c8H Базовый и ий ╪канала 6 (╒ы 1-16)0caH ий счетчик слов канала 60ccH Базовый и ий ╪канала 7 (╒ы 1-16)0ceH ий счетчик слов канала 7■ H■0d0H-0dfH Aю;ы я и *я0d0H кь: ;У  е: ;*я0d2H ;ки йа0d4H ;ки од{╒а маски0d6H ;ки :а0d8H ;сброса _я ╓0daH кь: главvсброс  е: временБfь0dcH ;сброса масок0deH ;ки ╞х ╒ов масокN─ и ▄-ў, План Tов в/в #■Совместимость 32дующие @ы относятся к различным членам семейства персональuкомпьютеров IBM. Хвы в'ечаете где-нибудь "ую ссылку, озГает, +ующая я, ^енБ, Tжсредство есмысл ╢конкретzмодели PC и вероятно не Pменяется в других моделях. A. обозГает IBM AT жсовместимый; базируется на 80286 CPU ▌286▐ . обозГает Лкомпьютер на базе 80826, включая XT-286 и различwклоны. Возможны даже PS/2 моделей 50, 60 и 80 ■PC/XT■ ... обозГает либо PC, либо XT, но ни в коем случае НЕ AT ■XT■ . обозГает XT (rссылается на отличия в ў╢╕а) Jr . обозГает ТОЛЬКО PCjr (иными слqми, игнорируйте )(нич▒) .. ХниЪой ссылки ~, Юя Pменима ко ╞м членам семейства PC, и остается совместимой по ╞м вариациям ▄-ў и аппаратуры PC (и ▒клонов).N─ Нажмите ╢возврата в предыдущий @ 1  _# cd zs?┌ъ x6 y!>"E#T$U%V&W'Z!'Э (m-E.X*.YD0E72 y4E > ┴,@┤8D╩I JEK\L]M^@c y5m y u 7uxv▓ xP zO |1 ~97~вА░=Г└Д│ЛъBЛ М╠э TECH с! отмечает вариации и несовместимости между версиями э, выдавая в качестве предупреждающ▒флажка подсвеченvy╠. Там, где и эжQя эсущественно отличаются между версиями, Эуются 2дующие предупреждающие флажки: 2.0+ (жпо) . Pменимо к э╠2.0 и выше 2.x . Pменимо к э2.0 ж2.1 3.0+ ж3.x  . Pменимо к версиям э, Гвс э3.0 3.0 ж3.1 ж3.2 . Pменимо к указанzи Sдующим версиямОсновz5эбыл вчерне разработан в э1.0 и стабжзирqн (читай:отлажен) в ╠1.1. ░ваша Mа должна ╧работоспособzвэ1.1, вы не ┤Эqть и эс Фами выше 2eH.ХIBM ввела  ый ╕PC (модель XT), она выпила версию э2.0 --зГительное усовершенствq}предыдущей ╠, включающее:  Иерархию pй ╢организации │а к xм большой емкости  т-jvв/в , заменяющий неудобv х-jvв/в и упрощающий │к ам и ам.  ]ие станд. в/в ╢UNIX-подобzнезависимости от   ▓ы  ╢связи с не)м оборудq}м и ╕ами ▌, в частности, Сьv▓ANSI.█э2.1 ранила hок и добавила поддержку ╕ет ╢PCjr.э3.0 появилась вместе с Aи включила поддержку 20-мега╓{ ого ╕а, 16-╒овые ─ы ц╢минимизации потерь fи на ╕ах, <ую Юю об hках ╢й э. Существенно новые Уы э: ATTRIB, LABEL, VDISK.█(▌-╕) Сводка изменений: ь3dH (open) поддерживает @е}ов в сети ь44H Y. 08H (N. съемu) и 0bH (.счет.повт.) ь59H <ая Юя об hках ь5aH ,временv(уникальv)  ь5bH ,новый (он не ╡существqть) ь5cH ╘ирqть/раз╘ирqть  ь62H ╣╪▐ р24H , Ъие ответы (abort, retry, ignore) допимы.э3.1 включила неНе сетевые средства (@е}, ╘ировку, ]ие). Существенно новые Уы э: JOIN, SUBST Сводка изменений: ь44H Y. 09H и 0aH добавлены ╢сетевой поддержки ьs 5eH (сетевой O) и 5fH (сетевое ]ие)э3.2 появилась вместе с IBM Convertible PC. Она расширила 5▀, включив в н▒поддерживаемое эирq}╕а и т.п. Существенно новые Уы э: REPLACE, XCOPY, DRIVER.█(логич.╕) Сводка изменений: Dos Fn 44H расширена ╢поддержки обобщ. ▀и поддержки логических : Y. 0dH, 0eH и 0fH.э3.3 выпущена с рядом PS/2. Она поддерживает 1.4M 3 1/2" ╕еты. Существенно новые Уы э: ╩кнъкп л▒*л│Jл╡jл╖Кл╣кл╗╩л╜ъл┐ м┴*м├Jм┼jм╟Км╔км╦╩м═ъм╧ н╤*н╙Jн╒jн╫Кн┘кн█╩н▌ън▀ ос*оуJохjочКощкоы╩оэъоя пё*пєJпїjпўКп∙кп√╩п¤ъп  ░+░K░k░Л░ л░ ╦░ ы░ ▒+▒K▒k▒Л▒л▒╦▒ы▒ ▓cYBxx и Эует ║х KEYBOARD.█ - NLSFUNC т aключе}Фовых & - Нqя Уа CHCP выбирает/выдает ую Фовую &у - Новые ▓ы PRрER.█и DISPLAY.█поддерживают фонты - MODE поддерживает выбор и aключе}Фовой &ы ■ Добавлены и э: - Fn 44H Y. 0cH готовит и выбирает фонты Фовой &ы - Fn 66H выбирает фонты (░NLSFUNC резидентна) - Fn 67H увеличивает макс. lей ов ╢Lа. - Fn 68H заставляет эобновЬна ╕е ('commit')┌─┐│ Совместимость │ Вообще говоря, ╠с большими yами совместимы с└─┘ ╙ранними версиями. Большая часть Mнаписана ╢ э2.x, которая остается наи╙распро'аненz. Добавленwсредства э3.x относительно несущественны, " не есмысла разрабатывать софтвер, опирающийся на специфические средства 3.x (исключая сетевые Pложения). Вероятно, самая распро'аненБпроблема совместимости в'ечается на машинах с малой fью. Sд}╠эЭуют ╥▌из │{пула и оставляют меньше места ╢PкладuM. Версия На ╕е В fи ▀ ▀  ▀ э1.0 11,551 12,144 На ╕е = >Є э1.1 13,279 12,400 +IBMў.є э2.0 39,424 24,800 + IBMэ.є э2.1 39,551 24,800 э3.0 58,926 37,024 В fи = согласно отчету CHKDSK.є; э3.1 60,534 37,040 ╥- с SHARE, MODE, и т.п., э3.2 68,637 44,704 и неНми директивами ё э3.3 77,566 46,048 Еще одна проблема возникает с ▓ами ╢ ых ╕ов не-IBM. НеНе прекрасно работают в э2.x, но не работают в 3.x (см. |). Остерегайтесь !8х M. По необходимости "ие Mы выполняют ряд "закулисu" (░не явно запрещенu) nй, обойти проблему нереентерабельности э. ПЕРВОЕ,  2дует сделать, Хвы подозреваете,  винqта совместимость - удалЬ8е Mы из AUTOч.BAT и aмЬся (не забудьте,  ё!влияет).┌─┐│ Ловушки и капканы │ Большинство й эсовместимы вверх, но есть ряд└─┘ мест, где вы не ┤Pнимать на веру. Большая часть пунктов в 2дующем списке относительно несущественна, но учет  ЙсэкономЬвам часов ╚отладки. ь1bH aстала возвращать ╪действительzцв э2.0 и ╔ь на ╓дескриптора x. ь4fH (Найти 2дующий ) етонкое различие между версиями 2.x и 3.x. Вы теперь ┤сохранять ь DS:DX на Юю, возвращенную ┴овом 4eH (Найти 1-й ). э2.x предполагала,  ы. ь30H Tит ;ы BX и CX в э3.0+ ь38H (Информ. 'аны) ╔несовместимый ╘Юи 'аны Три 16-╒овых слqв конце BPB (Эуемых ▓ами ) стали обязательными в э3.0. Учтите !,  неНе не-IBM-овские ▓ы НЕ сохраняют BPB в Пм 6е  ого ╕а (относится к "им ╕ам, Не не анавливаются во ╟▄-Scan , не имеют #ы @ов и не самозагружаемые). Наверное, существуют и другие проблемы несовместимости снизу вверх. ░вы Эуете недокументирqнv┴ов эж(упаси боже!) недокументирqнv╪в эж▄, будьте готовы aписывать вашу Mу ╢Sдующих версий эи ў.N─ Совместимость 3, и э ьь b║■Цифрqя Ша Яркая буква K озГает,  данБЧа находится на цифровой панели с правой стороны Шы. ~оторые Чи K уникальны на уровне сканФов. Д, Х вы нажимаете плюс (+), обработчик Шы ┼помещает 42bH (47) в ╨Шы, независимо от того, Ъую из двух Ч"+" вы нажали. Однако, неНе Pложения Nеряют сканФ, выяснЬ,  был "серый плюс" (на цифровой панели), и обрабатывают ▒специальным образом. На 101-ЧzШе м{дублирqния между основzи цифровой Шами. Mы, Nеряющие сканФы, испытывают трудности с "ой Шой. ╢совместимости между Шами лучше ╞го Эqть и 4ь{╬а/┬а э╢ я Чи Nерки на <ые Фы , Не полностью документирqны.N─ Нажмите ╢ возврата в предыдущий @ ■НЕ ДОКУМЕНТИРОВАНО Юя, предоставленБв Tech с!, собрана из различuисточников, в основном из публикаций, одобренuфирмами IBM и/жMicrosoft, а !из журнальuстатей и книг, Не ссылаются на "ие публикации. В очень немногих случаях Tech с! предоставляет Юю, не одобренную IBM жMicrosoft, и эти места явно отмечаются. ░вы решитесь Эqть "ого рода Юю, учтите,  она Йоказаться НЕПРИМЕНИМОЙ в будущих версиях э, ўжs.N─ Нажмите ╢ возврата в предыдущий @ ю  ├' ┴ ╛ └ ┴ ▄#■POST (самоNерка Pмке) ┌─┐ ┌─┐ ┌─┐ ┌─┐ │P│ower-│O│n │S│elf-│T│est └─┘ └─┘ └─┘ └─┘ POST - ▄-Mа, которая ╛ся Pвключении PC. Mа ╛2дующие и:  Nеряет _и (PC,XT) жЇ-fь (AT), kЬ, Ъая периферия подключена к компьютеру, и т ╒овые и списка s  Nеряет ▌, кывает ║е, требуемые ╢обнаружения hок в ▌, и тестирует основwкомпоненты (ю, Qя, ╕, Шу и т.п.)  ╛▄-Scan , аализирqть дополнительное оборудq}  ╛действия по мке э(жвыполнению ▄-резидент{BASIC)  Nеряет Ї╪0fH (и ║е ў0:0472) на случай спец. действийN─ Нажмите ╢возврата в предыдущий @ Ё?TECH с! Добро пожалqть в TECH с! Электронvсправочник TECH с! - справочник Mиста. Он -исчерпывающие факты, @ы и $ы ║х, предоставляемые в уникальzбирqнz форме и мгновенно │wиз ваш▒редактора жотладчика. ║х справочника -╙400 [u&текста, излагающ▒суть наи╙часто необходимой технической Юи из документов эTechnical Reference и PC/XT/AT Hardware Technical Reference. Flambeaux Software / 1147 East Broadway, Suite 56 / Glendale, CA 91205 (818) 500-0044 Автор: Dan Rollins Адаптация: С.М.Абель Нажмите ─┘ , увидеть, ЪЭqть TECH с! с! (про╡ие)" Посвяще} ┌─┐ │ To │ │ Robert Benjamin Rollins │ │ and │ │ Amanda Jasmine Rollins │ ┌─┘ └─┐ │ Пь ваша жизнь наполнится радостью, Ъвы наполнжмою │ └<─┘ Столкнувшись с проблемой, которую вы не понимаете, сГала справьтесь с Лее частью, которая вам понятна, а потом посмотрите на нее снq.+ -- Robert Anson Heinlein (из книги The Moon is A Harsh Mistress)┌ ─┐ Автор и издатель Pложж╞усжя к тому, обеспечЬ,│ Disclaimer │ вся Юя, содержащаяся в м тексте, была└ ─┘ Октzи эффективz. Автор и издатель не дают ниЪого ручательства, яв{жподразумеваемого, по отношению к Mам, теориям, советам жЪой-либо документации, воспроизведенzздесь. Автор и издатель не несут ответственности за любые случаи ущерба, Pчинен{кой жЭq}м Mы жтекста, Нй она выдает.┌ ─┐│ Trademarks │ Flambeaux Software, TECH с!, и The Electronic Manual└ ─┘ являются торговыми марками Flambeaux Software IBM и PC-э- торговые марки International Business Machines Corporation Microsoft, MS-э, GWBASIC и Windows - торговые марки Microsoft Corporation Buford Whiffle-Bumpkin не является чьей-либо торговой маркой dBase - торгqя марка Ashton-Tate Corporation Wordstar - торгqя марка MicroPro International WordPerfect - торгqя марка Wordperfect Corporation This program and associated programs and data files are Copyright (c) 1985,1986,1987 by Dan Rollins and Flambeaux Software є  ё.ЄA TECH с! (про╡ие) Mа с- ж▓3ы помощи - выдает текст справочника на ваш и реагирует на ваш ╬. Лтекста, выдаваемый с повышенzяркостью, является выбираемым пунктом. ^естите к "ому пункту М(нажимая пробел жЧи Ма) и нажмите Enter ╢выбора пункта. Многие &ы справочника содержат ╙од{а Юи. На "их &ах, Эуйте Чи [] и [] либо [PgUp] и [PgDn], листать вдоль текста. с! поддерживает FIFO-стек &и позиций. Чи [Esc] и [-] (backspace) возвратят вас на предыдущую &у. [F9] и [F10] (ж[Esc] в Главном К) заканчивают работу TECH с! Ча [F1] выдает полную сводку правил работы со справочником. Выберите @|, ^естив к нему Ми нажав Enter.N─ ка и на'ойка с! ┴ов с! 8й с! Главное К   я4 #є╗*.Є4F╗YєYЄAY Z┴ов с! См. TECH с! на предмет общ▒введения в эту Mу.▓с! работает в трех различu:ах: Яактивном, резидентноми транзитном. :kяется ом ┴q.Транзитv: у[@] [/M=сfile.H!]8й: у[/M=сfile.H!] [/K=nn,[aa]] /PПолу8й: у[/M=сfile.H!] [/K=nn[,aa]] /X[=progname [prog_parms]] @- Лвыбираемый пункт в К@ы помощи . Достаточно за╣bых 4ов имени; bый совпадающий @╤выбран и показан. ув м случае не ╤8м в fи. ░'@' задается P ┴ове, то опции /X, /P и /K игнорируются. /M= задает ╕, Kи га ║х с текстом помощи. опция полезна в том случае, Хеся  ов помощи. См. ку и на'ойку с! Обязательно указывайте ╕, полvKи гв опции. /K= выбирает ключи, Не будут активизирqть с! в резидентном и транзитном :ах. cы 'nn' и 'aa' - двузГwдесятичwцифры, задающие сканФы ключей; здесь 'nn' выбирает обычvключ активизации, а 'aa' задает ключ активизации ╢автопоиска. ░эти ключи явно не заданы, то подразумеваются °H и °L +енно. ле: СканФ- НЕ то же самое,  Ф·. См. СканФы . В любом случае выбранБЧа должна ╧нажата вместе с [Alt] ╢┴qу. Кроме того, дополнительно, комбинация [Ctrl]-[левый ┌] ┼ ╤┴ывать у. /P ка резидент{у. Нужно aмЬэ,  деактивизирqть ув м случае. /X= полу8й :eXec: узагружается в fь и └Mу 'progname'. S╜а из Mы вся fь, Эqвшаяся у, освобождается ╢других Pложений. ░опЬ'=progname' жза╣/X=э, то умит вторичную копию Єи `аст ей е. Уа EXIT по подсказке эдеактивизирует уи освобождает занимаемую им fь. См. 8й с! Опция /X должна ╧Sдней в Уz%е ┴qу. ╞4ы за опцией считаются cами, Не `аваются ┴ываемой Mе.Pмеры: у запускает у╢Яактив{просмотра. уне резидентен. уansi └у, выдавая @"ANSI.█Esc-Rьности". ░вы нажмете [F10] ╢╜а, текст помощи оста~ся на е. уне резидентен. у/X=edit myprog.asm запускает у.EXE, Нй запускает Mу EDIT (EDIT.є, EDIT.EXE жEDIT.BAT) и `ает ей c'myprog.asm'. Пока EDIT ╛ся, у│ен в popup-:е. P пи EDIT, уудаляется из fи. "ой :удобно Эqть в gном е: мка и удале}упроходят безболезненно, и с! ┼под рукой, Х. у/P /K=82,99 т 8й уи ╔ся в э. °Ins ╤активизирqть у(82 - сканФЧи [Ins]). Вместо °L указан недействительvФ, игнорирqть ▒. у/M=c:\с\tech.h! /X └ув резидентном eXec-:е. уЭует  TECH.H! из pя \уна ╕е C. Поскольку гMы не указано в опции /X, вам ╤выдана подсказка э. Ча °H (по ю) ╤активизирqть у. Уа эEXIT, введенБна уровне подсказки э, завершит уи освободит ▒fь.FYI: ОсновБчасть ▓а с! написана на языке Microsoft C, а ▒ различwподMы - на ассемблере. ОтдельБMа Эqлась ╢преобразqния стандарт{текстового а · в сжатый бирqнvа .H!. 3а помощи -╙230 @ов (около 400 &бумаги 11 а). Несжатые текстовые ы 3ы занимают почти 900K ╕овой fи.N─ ка и на'ойка с! 8й с! Главное К  ё╗ ё(є0 ё0єA0 18й с! TECH с! наи╙полезен ЪрезидентБ"popup"-Mа, предоставляющая вам Юю "на кончиках пальцев". Однажды ┴ванv, он иЙ╧активизирqн из ваш▒редактора, отладчика, среды Mирqния жна уровне подсказки э. Обратите внима}на 2дующие возИсти и ограничения:  с! хорошо Эуется совместно с редактором жотладчиком в текстовом :е. Он не ╤Октно работать P┴ове на ╗.  Укажите опцию /X P┴ове с! , ░вы собираетесь удалЬс! из fи в ближайшем будущем, ж░вы хотите, он был автоматически удален P╜е из Pложения. ░вы задаете опцию /X, не анавливайте других ▌-8х MSу(иГе с! оста~ся 8м в ▌).  с! Эует обычwтрюки, обойти нереентерабельность э. ░работает я э, то йактивизации с! ╤запомнен, но не ╤немедленно обработан. с! `ает е ╢╞х aхватываемых ═ов Qй их bоГальным владельцам и совместим со ╞ми популярными popup-Mами; однако не исключено,  другие Mы будут мешать резидентному с!.  ░ключи °L ж°H требуются ╢Ъого-либо другого Pложения, вы Йе ├другие сканФы ╢▒┴q. ОтменЬaхват сканФов И, указав АсканФ(Д, 99). См. ┴ов с! Комбинация ялевый ┌┼действительна и активна.  Хустартует, он отыскивает oжов-справочников. bый из них становится активным справочником (опция /M Wвам akЬвыбор умалчиваемого справочника). усчитывает Юю из нка а. Sобраще}к у происходит по каждому @у P▒выборе. В резидентном :е, закрывается Pдеактивизации у, и заново открывается Pкаждой активизации у. Пому важно, ║х оставался на тех же ╕е и pи,  и изГально. См. ку и на'ойку с! об алгоритме, Нй Эует уP поиске а ║х. ПолБспецификация а, заданБP┴ове, должна сохраняться P╞х Sдующих активизациях у. ░вы Эуете опцию /M, указать ║х, отличvот того, Нй был бы выбран по ю, не забудьте указать полvK (╕:\K\), мог ╧ЕPЛактивизации.N─ ┴ов с! ка и на'ойка с! Главное К  ё,& ╣Y ёYЄ:YZка и на'ойка с!┌─┐│ 3ы с  ым ╕ом │└─┘ 1) Скопируйте ╞ы с ╕ет с! в ваш Щ\э, ж\UTIL, ж \BIN - в ЛЩ, включенvв поисковый KУэ(PATH). 2) ╞готово. Введите уи Гинайте просмотр.┌─┐│ 3ы без  ого ╕а │└─┘ 1) Спросите себя: "Могу ли я создавать сколько-нибудь стоящее Mное обеспече}, не имея винчестера?" Поразмышляв над этим, создайте рабочую копию ╕ет с! Pпомощи утжты DISKCOPY. Сохраните оригиналы в безопасном месте. 2) Tech с! (Mа и ║е) слишком велик, уместЬся на одz 360K ╕ете. ░у вас есть о ╥й емкости, скопируйте на одну ╕ету оба а и обеспечьте, ╕ета была лена всякий раз ┴ове уж▒активизации в резидентном :е. ░у вас лишь 360K а, поместите ╕ету с Mой в одно о, а ╕ету с ом - в другое, и Эуйте опцию /M P запуске у. См. ┴ов с!┌─┐│ ля по ке │ ▓с! ищет ║х Pсвоем bом└─┘ ┴ове и Pкаждой активизации. В Гале работы ▓с! ищет свой ║х по 2дующему алгоритму: 1) ░задана опция /M=d:\K\, то Эуется указанv, и он сохраняется bым в списке справочников, Нй Ивы╣на  нажатием Чи [F6]. 2) В ем Ще ▒╕а ищутся ы с расшире}м "*.H!". Ы"ой Nеряется,  действительно справочник с!, и помещается в Ков [F6]. 3) и▓пытается найти ^енную окружения в форме: уPATH=K[;K...] В каждом пути списка ищутся ы "*.H!", и ╞Октwы добавляются в Ков [F6]. 4) и▓ищет ы "*.H!" во ╞х Щах, указанuв пути поиска Уэ(^енБокружения PATH=). 5) НаТ, самый bый справочник в списке читается и становится активным. легко Ь8й с!, сделайте им pе, содержащее ы с!, `┴овом у/X жу/P.┌─┐│ На'ойка ов │ Нажав Чу [F7], вы увидите Кна'ойки ов и└─┘ опций я Зом. Выберите а по вашему вкусу и сохраните их. ■ ░у вас одноvсоставzЗс платой zграфики, включите опцию "составzЗ" в YES, aйдите в Квыбора ов и подберите Pемлемую комбинацию, Sч▒сохраните на'ойку. ■ ░у вас ъжне-IBM плата zграфики, НЕ ДАЮЩАЯ "снега", то отключите (в OFF) опцию контроля "снега". позволит ▓у с! выдавать текст бы'ее. Опции на'ойки [F7] модифицируют ╓в Гале а-справочника. ░у вас справочников помощи, вы Йе ├свой набор ов ╢каждого справочника.┌─┐│ Копирq}и контрабанда │ с! не защищен от копирqния. Вы ее└─┘ право создавать 9wкопии ов с! на ╕етах ж ом ╕е ╢од{Uя и од{компьютера. НЕХОРОШО распро'анять копии с!, потому  в м случае Dan Rollins и ▒коллеги в фирме Flambeaux Software не получат вознаграждения за тот труд, Нй они затратжна продукт, и двое хорошеньких детей Dan'а будут вынуждены жЬна улице, выпрашивая картофельwочистки. ░вам удалось достать пиратскую копию любого продукта из серии с!, пожалуймста, напишите жпозвоните: Flambeaux Software 1147 East Broadway Street, Suite 56 Glendale, CA 91205 (818) 500-0044N─ ┴ов с! 8й с! Главное Кпомощи